我正在设置一个位于防火墙后面的网络上的服务器,我希望这台计算机上的程序能够使用sendmail将电子邮件发送到任何电子邮件地址.我们在这个网络上运行一个SMTP服务器(让我们称之为mailrelay.example.com),这就是我们应该通过防火墙接收外发电子邮件的方式.
那么如何配置sendmail通过mailrelay.example.com发送所有邮件?谷歌搜索还没有给我答案,并且只透露sendmail配置非常复杂和烦人.
我想允许用户从他们的电子邮件地址发送我的rails应用程序中生成的电子邮件.
我知道我可以使用我的服务器sendmail,并将发件人地址设置为他们的电子邮件地址,但电子邮件很可能被标记为垃圾邮件.
有一个更好的方法吗?我可以使用sendgrid或Amazon SES或让用户输入自己的SMTP详细信息.
任何建议或最佳实践将不胜感激.
我刚刚在debian 6上安装了php,mysql,nginx,sendmail.
现在PHP页面工作正常.但是当我尝试使用简单的mail()测试时:
例: mail($to, $sub, $msg)
它需要很长时间才能完成(大约30秒以上)然后让我504 Gateway Time-out进入浏览器.
有趣的是电子邮件实际上已发送.
BTW这是日志中的错误:
upstream timed out (110: Connection timed out) while reading response header from upstream
谁知道是什么导致了这个错误?
我正在尝试使用git send-mail,但我收到此错误:
无法找到在@INC网/ SMTP/SSL.pm(@公司包含:
/Library/Developer/CommandLineTools/usr/../Library/Perl/5.16/darwin-thread-multi-2level
/库/开发/ CommandLineTools在/ usr /共享/ git的核心/ perl的
/Library/Perl/5.16/darwin-thread-multi-2level /Library/Perl/5.16
/Network/Library/Perl/5.16/darwin-thread-multi-2level
/网络/库/Perl/5.16 /Library/Perl/Updates/5.16.2
/System/Library/Perl/5.16/darwin-thread-multi-2level
/System/Library/Perl/5.16
/System/Library/Perl/Extras/5.16/darwin -thread-multi-2level
/System/Library/Perl/Extras/5.16.)at
/Library/Developer/CommandLineTools/usr/libexec/git-core/git-send-email
line 1232.
我最近从Mac OS X v10.7(Lion)升级了Mac OS X v10.9(Mavericks )!
我正在使用ASP.NET开发一个网站.在那里,我正在向用户发送电子邮件.
目前我正在使用此代码向用户异步发送电子邮件.电子邮件正在后台发送.
public static void SendEmail(string Path, string EmailTo)
{
Thread emailThread = new Thread(delegate()
{
try
{
string body = string.Empty;
using (StreamReader reader = new StreamReader(Path))
{
body = reader.ReadToEnd();
}
MailMessage mail = new MailMessage();
mail.From = new MailAddress("test@test.com");
mail.To.Add(EmailTo);
mail.Subject = "Test email";
mail.Body += body;
mail.IsBodyHtml = true;
SmtpClient smtpClient = new SmtpClient("smtp.test.com");
smtpClient.Port = 587;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = new System.Net.NetworkCredential("test@test.com", "test");
smtpClient.EnableSsl = true;
smtpClient.SendCompleted += (s, e) => …Run Code Online (Sandbox Code Playgroud) 将DebianWeb服务器升级到之后,PHP Mail功能失败jessie.软件版本是,
Apache2 : 2.4
Php : 5.6
Exim4: 4.8
Run Code Online (Sandbox Code Playgroud)
这个Web服务器有多个网站,我使用libapache2-mpm-itk模块为不同的用户为每个网站运行php.所以www-data没用过.
尝试使用php邮件功能发送电子邮件时,我得到以下错误.
unable to set gid=33 or uid=0 (euid=0): forcing real = effective
Run Code Online (Sandbox Code Playgroud)
Sendmail路径是,
sendmail_path /usr/sbin/sendmail -t -i
Run Code Online (Sandbox Code Playgroud)
它指向exim,
/usr/sbin/sendmail -> exim4
Run Code Online (Sandbox Code Playgroud)
我从http://blog.gaiterjones.com/send-php-mail-ubuntu-upgrade/找到了一个解决方案,当我在下面设置itk模块时,问题解决了,
LimitUIDRange 0 2000
Run Code Online (Sandbox Code Playgroud)
但是root不建议像我这样允许用户使用共享服务器.
有更好的解决方案吗?
编辑: 我发现了一个未解决的错误报告. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=797653
谢谢!
我已经安装了sendmail,并希望将传入电子邮件发送到php。
每当我向服务器发送电子邮件时,都会收到一封包含错误消息的电子邮件:
无法打开输入文件:/root/fw/catcher.php 554 5.3.0未知邮件错误1
我认为具有许可的catcher.php错误是错误的,但我自己无法解决。
已安装Sendmail,并添加了别名:
root: "|/usr/bin/php /root/fw/catcher.php"
Run Code Online (Sandbox Code Playgroud)
权限(之后chmod 777;我尝试过chmod 777,chmod 755但都无法使用):
drwxrwxrwx 2 root root 4096 Jul 20 14:27 fw
-rwxrwxrwx 1 root root 45 Jul 20 14:27 catcher.php
Run Code Online (Sandbox Code Playgroud)
catcher.php(将行尾转换为Unix样式):
#!/usr/bin/php
<?php echo 'Test'; exit(0); ?>
Run Code Online (Sandbox Code Playgroud)
通过cli执行我的php文件效果很好。所有这些命令均有效:
/usr/bin/php /root/fw/catcher.php
/usr/bin/php7.3 /root/fw/catcher.php
php /root/fw/catcher.php
php7.3 /root/fw/catcher.php
Run Code Online (Sandbox Code Playgroud)
我认为sendmail的权限存在问题。
如何使用我的Gmail帐户从Raspberry Pi发送电子邮件?
我想从命令行发送邮件,并在我的脚本中使用此方法.
Envirenment:
Hardware: Raspberry PI 3
OS: Jessie
SMTP: smtp.gmail.com
Run Code Online (Sandbox Code Playgroud) 我正在使用 Laravel 7,我想通过 Laravel Mail 门面使用 Sendemail 驱动程序发送电子邮件。当我使用 PHP 邮件功能时它有效,但我想使用 Laravel Mail 外观。
我的 .env 文件电子邮件配置:
MAIL_DRIVER=sendmail
MAIL_SENDMAIL='/usr/sbin/sendmail -t -i'
Run Code Online (Sandbox Code Playgroud)
我在 config/mail.php 中的默认邮件设置:
'default' => env('MAIL_MAILER', 'sendmail'),
'mailers' => [
'smtp' => [
'transport' => 'smtp',
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
],
'ses' => [
'transport' => 'ses',
],
'sendmail' => [
'transport' => 'sendmail',
'path' => '/usr/sbin/sendmail -bs',
],
'log' => [
'transport' => 'log',
'channel' …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 webhook 在聊天机器人(dialogflow)中发送电子邮件。出现以下错误(日志条目)。可能是什么原因?
消息:“对资源“projects/rare-shadow-276706/locations/us-central1/functions/dialogflowFirebaseFulfillment”的权限“cloudfunctions.functions.setIamPolicy”被拒绝(或者资源可能不存在)。 “