我正在尝试发送一封电子邮件sendmail,但我需要指定一些标头(发件人、内容类型、主题)。这是我当前正在运行的命令:
echo "Content-Type: text/plain\r\nFrom: do-not-reply@mydomain.com\r\nSubject: Test\r\n\r\nThe body goes here" | sendmail -f do-not-reply@mydomain.com admin@mydomain.com
问题是没有设置标题。我的格式正确吗?
我正在尝试以 CentOS 上的非 root 用户身份从命令行发送邮件。我正在使用以下命令,但出现错误:
$ echo test | mail -s "test" to@example.com -c cc@example.com
WARNING: RunAsUser for MSP ignored, check group ids (egid=102, want=51)
can not write to queue directory /var/spool/clientmqueue/ (RunAsGid=102, required=51): Permission denied
Run Code Online (Sandbox Code Playgroud)
我已将用户添加到组 51 (smmtp),并且我可以以用户身份同时 cd 和写入该目录。
为什么我收到错误?
一些相关权限:
# ls -la /var/spool/clientmqueue/
total 8
drwxrwx--- 2 smmsp smmsp 4096 Mar 8 14:25 .
drwxr-xr-x. 13 root root 4096 Oct 21 15:09 ..
# ls -la /usr/sbin/sendmail
lrwxrwxrwx 1 root root 21 Oct 21 15:09 /usr/sbin/sendmail …Run Code Online (Sandbox Code Playgroud) 因此,我翻阅了大量文章和答案以在 Ubuntu 12.04 上正确配置 sendmail,但我的电子邮件仍然X-Authentication-Warning被 sendmail标记为标头:
X-Authentication-Warning: advisor.travel: www-data set sender to noreply@advisor.travel 使用 -f
通过简单的控制台调用:
echo "测试邮件是通过sendmail" | 须藤 -u www-data /usr/sbin/sendmail -f noreply@advisor.travel
请注意,我不是要在此处配置防垃圾邮件设置,因为有关 SPF、DKIM 和其他内容的所有内容都已准备就绪 :)
发送邮件信息:
# sendmail -d0.1
Version 8.14.4
Compiled with: DNSMAP LDAPMAP LDAP_REFERRALS LOG MAP_REGEX MATCHGECOS
MILTER MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETINET6 NETUNIX
NEWDB NIS NISPLUS PIPELINING SASLv2 SCANF SOCKETMAP STARTTLS
TCPWRAPPERS USERDB USE_LDAP_INIT XDEBUG
============ SYSTEM IDENTITY (after readcf) ============
(short domain name) $w = advisor
(canonical domain name) $j …Run Code Online (Sandbox Code Playgroud) 我的一台 sendmail 服务器出现问题。用户通知我注册电子邮件没有到达。日志文件声称消息已排队,但队列为空:
sudo cat /var/log/mail.log | grep email
Run Code Online (Sandbox Code Playgroud)
(在此示例中使用混淆的电子邮件和服务器地址):
Jan 6 23:33:57 fx1 sendmail[9292]: u06MXvuk009292: to=email, ctladdr=sender-email (1001/100), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=38128, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (u06MXv7o009293 消息接受发送)
1 月 6 日 23:34:00 fx1 sm-mta[9295]:u06MXv7o009293:to=,delay=00:00:03,xdelay=00:00:03,mailer=esmtp,pri=128308,relay=mx3.hotmail。 com。[65.55.37.120], dsn=2.0.0, stat=Sent ( <70001a6bb8ff80254895632a2c4367fb@myhost> 排队等待投递的邮件)
$ mailq
> MSP Queue status...
/var/spool/mqueue-client is empty
Total requests: 0
MTA Queue status...
/var/spool/mqueue (1 request)
-----Q-ID----- --Size-- -----Q-Time----- ------------Sender/Recipient-----------
u04ALref018750* 184 Mon Jan 4 11:21 <services@globosapiens.net>
(Deferred: Connection timed out with mail.vtmail.com.)
<nicolaitan@vtmail.com>
Total requests: …Run Code Online (Sandbox Code Playgroud) Sendmail 在 Ubuntu 上作为邮件服务器默认运行。如何切换到postfix。
我的 sendmail 服务器开始拒绝连接,因为平均负载太高(由于垃圾邮件问题已经解决)。
Error was: sendmail[13400]: rejecting connections on daemon MTA: load average: 50
Run Code Online (Sandbox Code Playgroud)
不过,我想更好地理解这种行为。
谢谢,
米
嗨,大家好,
当我看到它再次出现时,我想我会再撞一次。我现在看到的问题是,由于超过平均负载而排队的消息稍后不会重新发送(即使在性能恢复到可接受的水平之后。知道为什么会这样吗?
谢谢,
米
我已经阅读了一些关于 MDA 和 MTA 的文章,但仍然不了解它。
究竟什么是像 fetchmail 这样的 MDA 和像 sendmail 这样的 MTA 之间的区别。
在我的计算机中,我是否必须安装 MTA?如果我使用 Apple Mail 发送邮件,是否使用计算机中的 MTA 应用程序发送邮件?它在哪里发送邮件?
如果我收到邮件,它是否在我的计算机中安装了 MDA 的情况下收到邮件?
如果有人可以解释它是如何为我工作的,或者给我很好的教程链接,那就太好了。
SPF 检查更新http://www.openspf.org/Why:
SPF 检查结果如下:启用 SPF 的邮件服务器拒绝了声称信封发件人地址为 support@ourdomain.com 的邮件。启用 SPF 的邮件服务器收到来自 ourdomain.com (xxxX) 的邮件,该邮件声称信封发件人地址为 support@ourdomain.com。域ourdomain.com 已授权ourdomain.com (xxxx) 代表其发送邮件,因此该邮件应该已被接受。我们无法说明为什么被拒绝
更新:我正在使用 Google Apps 发送电子邮件和接收电子邮件。也许这有助于研究我们的问题。我们只设置了 gmail 的 MX 记录,现在认为这可能是一个问题?如果邮件服务器从 www.ourdomain.com 收到一封电子邮件,但找不到该 IP 的 MX 记录,这可能是坏的还是坏的?
我们所有的邮件都将发送到 gmail 垃圾邮件文件夹。邮件不是垃圾邮件或大件,只是来自我们网络应用程序的注册确认电子邮件。
SPF 标头给了我以下内容
Received-SPF: pass (google.com: best guess record for domain of apache@www.ourdomain.com designates x.x.x.x as permitted sender) client-ip=x.x.x.x;
Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of apache@www.ourdomain.com designates x.x.x.x as permitted sender) smtp.mail=apache@www.ourdomain.com
Received: from www.ourdomain.com (localhost [127.0.0.1])
Run Code Online (Sandbox Code Playgroud)
其中 xxxx 是我们的完整 IP …
我们有一个 linux 服务器运行sendmail,它通过我们的主邮件服务器中继电子邮件,但是自从上周更改 DNS 服务器以来,连接到我们的邮件服务器一直超时。经过进一步调查,/var/log/maillog显示如下所示的行,包括。邮件服务器的错误IP 地址:
Apr 4 15:37:32 yip sendmail[20583]: p34JVgLE020540: to=<user@domain.tld>, ctladdr=<root@host.domain.tld> (0/0), delay=00:05:50, xdelay=00:02:00, mailer=esmtp, pri=258071, relay=mailserver.domain.tld. [xxx.xxx.xxx.xxx], dsn=4.0.0, stat=Deferred: Connection timed out with mailserver.domain.tld.
Run Code Online (Sandbox Code Playgroud)
现在,我们在上周通过编辑/etc/resolv.conf. 在 linux 服务器上运行dig mailserver.domain.tld、host mailserver.domain.tld或nslookup mailserver.domain.tld都会导致返回正确的 IP 地址。哪里可以sendmail获取/缓存不正确的 IP 地址,我该如何解决该问题?
我似乎无法通过我的 php 脚本或 Centos 5.5 LAMP 服务器上的 linux 控制台发送邮件,当电子邮件被发送到我的盒子托管的域时。
我认为这与内部的电子邮件路由有关,或者与盒子使用的 DNS 服务器没有报告正确的 MX 记录有关。
基本上我的盒子不托管任何邮件,它都托管在谷歌应用程序上。我的名称服务器由第 3 方提供商托管,我使用的是 webmin。Webmin 无法识别第 3 方提供商的设置。
我不确定如何解决这个问题。以前,当我在 cpanel 服务器上遇到这个问题时,我会编辑remotedomains和localdomains文件,将域从一个文件移动到另一个文件,它会解决问题。
我需要为任何人提供哪些信息才能确定问题所在?
谢谢
sendmail ×10
email ×4
linux ×2
smtp ×2
dsn ×1
email-server ×1
gmail ×1
lamp ×1
load-average ×1
php ×1
postfix ×1
smtp-headers ×1
spam ×1
spf ×1
ubuntu ×1