我运行一个远程管理的简单服务器,我需要它能够在每次发生错误时向我的个人电子邮件地址发送电子邮件。使用 Ubuntu 上的默认设置,sendmail 只是在 /var/spool/mail 中累积要在本地发送的电子邮件,但我需要它转到外部电子邮件。
我发现的教程都在谈论将 postfix/sendmail 设置为成熟的电子邮件服务器,但我只需要传出,无需外部登录。是否有捷径可寻?
我的服务器目前在 sendmail 上,这不是很有效。我想迁移到 PostFix。
我使用 Google Mail for Domain 来处理传入的电子邮件,因此我需要设置 PostFix 以仅发送电子邮件。要设置外发电子邮件传送并禁止接收电子邮件,我必须执行的最低 PostFix 配置是什么?默认情况下,所有本地主机电子邮件都是可信的。
我在我们的网络服务器上发送邮件时遇到问题。一些邮件的发送和投递没有任何问题(例如 Gmail),而其他邮件则因“发件人地址被拒绝:未找到域”而延迟
我知道这是一种垃圾邮件保护措施,即在发送域上进行查找,但我们的域有 MX 记录:
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
premiumconnect.co.za mail exchanger = 10 za-smtp-2.mimecast.co.za.
premiumconnect.co.za mail exchanger = 10 za-smtp-1.mimecast.co.za.
Authoritative answers can be found from:
Run Code Online (Sandbox Code Playgroud)
(顺便说一句,为什么我们没有权威的答案?这可能是问题所在吗?)
以及A记录:
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: premiumconnect.co.za
Address: 196.28.97.202
Run Code Online (Sandbox Code Playgroud)
以下是尝试发送的特定邮件的日志:
Feb 5 12:07:52 premiumconnect sm-mta[2411]: s15C7qYp002411: from=<bookings@premiumconnect.co.za>, size=3522, class=0, nrcpts=1, msgid=<52f22998c2680@premiumconnect.co.za>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Feb 5 12:07:52 premiumconnect sendmail[2410]: s15C7q0o002410: to=*****@tott.co.za, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=33324, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (s15C7qYp002411 Message accepted for delivery)
Feb 5 12:07:52 …Run Code Online (Sandbox Code Playgroud) 通过一些错误配置,我在 /var/mail/root 和 /var/mail/www-data 中有很多电子邮件
如何“循环”这些文件并再次发送每封邮件?
我的电缆调制解调器(bresnan 通信)后面有一个小型家庭服务器设置。我希望能够让这个框发送电子邮件(不接收)通知和诸如此类。
mail.bresnan.net为我的SMART_HOST指令。当我尝试发送电子邮件时,我在邮件日志中收到以下信息:
Dec 22 10:24:17 batcave sendmail[1530]: oBMHOHrs001530: from=aburns,
size=140, class=0, nrcpts=1,
msgid=<201012221724.oBMHOHrs001530@bresnan.net>,
relay=aburns@localhost
Dec 22 10:24:17 batcave sm-mta[1531]: oBMHOHWZ001531: from=<aburns@bresnan.net>,
size=397, class=0, nrcpts=1,
msgid=<201012221724.oBMHOHrs001530@bresnan.net>,
proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Dec 22 10:24:17 batcave sendmail[1530]: oBMHOHrs001530:
to=<my@work-address.com>, ctladdr=aburns (1000/1000),
delay=00:00:00, xdelay=00:00:00, mailer=relay,
pri=30140, relay=[127.0.0.1] [127.0.0.1],
dsn=2.0.0, stat=Sent (oBMHOHWZ001531 Message accepted for delivery)
Dec 22 10:24:18 batcave sm-mta[1517]: oBMH9mVv001357:
to=<my@work-address.com>, ctladdr=<aburns@bresnan.net>
(1000/1000), delay=00:14:30, xdelay=00:00:42, mailer=relay,
pri=300339, relay=pmx0.bresnan.net. [69.145.248.1],
dsn=4.0.0, stat=Deferred: Connection timed out …Run Code Online (Sandbox Code Playgroud) 使用 sendmail,您将如何将所有外发邮件发送到 /dev/null 或只是阻止电子邮件排队或根本发送?
在开发 nagios 框上,我想阻止发送邮件,以便通知不会发出。停止出站邮件将允许我按原样测试 nagios 配置并防止虚假通知。
dnl和dnl #在/etc/mail/sendmail.mc文件中有什么区别?如果我想启用某些东西需要在前面吗?同样,如果我想“注释掉”某些东西,我需要什么前缀?
例如:
dnl # masquerade not just @mydomainalias.com, but @*.mydomainalias.com as well
dnl #
dnl FEATURE(masquerade_entire_domain)dnl
dnl #
dnl MASQUERADE_DOMAIN(localhost)dnl
dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl
dnl MASQUERADE_DOMAIN(foo.com)dnl
dnl MASQUERADE_DOMAIN(foo2.lan)dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
dnl MAILER(cyrusv2)dnl
Run Code Online (Sandbox Code Playgroud) 我正在尝试调试 cron 没有在我没有配置的 Centos 6 机器上发送邮件的问题。如何确定 cron 使用哪个邮件程序发送邮件?crontab 手册页有这么一段话:
除了 LOGNAME、HOME 和 SHELL,cron(8) 将查看 MAILTO,如果它有任何理由由于在“这个”crontab 中运行命令而发送邮件。如果 MAILTO 已定义(且非空),则邮件将发送给如此命名的用户。如果 MAILTO 已定义但为空 (MAILTO=""),则不会发送邮件。否则邮件将发送给 crontab 的所有者。 如果您在安装 cron 时决定使用 /bin/mail 而不是 /usr/lib/sendmail 作为邮件程序,则此选项很有用 -- /bin/mail 不执行别名,并且 UUCP 通常不读取其邮件。
带星号的部分是让我想知道的部分:“好吧,是 sendmail 还是 mail?”
我的设置:我在带有 Apache 网络服务器的 Amazon Linux 服务器(似乎基本上是 CentOS)上运行 Magento 网站。我还使用 Google Apps 来管理 mydomain.com 的邮件。
我能够成功地为服务器设置 MX、SPF 和 DKIM 记录并使它们正常工作,因此当我发送电子邮件时,我会收到 SPF 和 DKIM 的“通行证”。但是,我遇到了一个我似乎无法解决的奇怪问题 --- 我发送的电子邮件的部分标题似乎总是说:
Received: (from apache@localhost) by mydomain.com
Run Code Online (Sandbox Code Playgroud)
我一直在寻找一种方法来将其更改为使用“mail@mydomain.com”,但我似乎无法弄清楚。
我尝试过的事情包括:
如果有帮助,我的 /etc/hosts 文件的内容如下:
127.0.0.1 www.mydomain.com
127.0.0.1 mydomain.com
127.0.0.1 localhost localhost.localdomain
Run Code Online (Sandbox Code Playgroud)
对于主机文件的最后一行,我还尝试了变体...
127.0.0.1 localhost.localdomain mydomain.com
Run Code Online (Sandbox Code Playgroud)
……但还是不行。
我认为如果我添加电子邮件的标题也可能会有所帮助,以防这可能会为可能发生的事情提供一些线索(我已经更改了很多值以使其具有普遍性)。
Delivered-To: zerowing@email.com
Received: by 123.123.123.123 with SMTP id abcdefg123456790;
Fri, …Run Code Online (Sandbox Code Playgroud) 我成功地在我的 VPS 上安装了 Postfix。我想发送加密的电子邮件。我安装了所有证书和私钥并设置了我的 conf 文件:
smtpd_tls_key_file = <path to my private key>
smtpd_tls_cert_file = <path to my cert file>
smtpd_recipient_restrictions = permit_mynetworks reject_unauth_destination
smtpd_tls_security_level = encrypt
Run Code Online (Sandbox Code Playgroud)
但我不知道还能做什么。我的意思是,我如何检查我的电子邮件是否被加密?我使用 phpmail()函数发送外发邮件。