Articles of sendmail

通过POSTFIX或日志监控MTA 554每日报告?

从Postfix或其他MTA程序获得554编码电子邮件问题的日常报告是有帮助的, 如果某些邮件服务器认为你被列入黑名单,他们会通过554行的url告诉你详细信息 有没有人拿出这样的实用程序? 通过这种方式,您可以在用户遇到重置密码等问题之前就意识到交付问题。 我认为这将是可能的grep /var/log/maillog但我没有看到554状态代码在那里,显然它只logging实际发送的邮件 – 除非也许有一个更详细的日志logging选项 PS。 有人请创buildMTA标签

SendMail允许/打开多less个并发连接时将新的(和延期的)消息转发到一个公共的下游MTA?

我有几台Sendmail服务器,它们通过SMTP将大量(成千上万)日志邮件转发到下游存档库。 所有这些电子邮件都有相同的收件人域(让我们称之为“fooarchiveproviderdomain.com”)。 就我而言,我在归档域的/etc/mail/mailertable设置了一个简单的路由: fooarchiveproviderdomain.com esmtp:[1.1.1.1]:[2.2.2.2] 最近,我一直注意到主要的下游MTA(在我上面的示例中是1.1.1.1)将会超载,有时不能及时发送横幅问候。 在我这边,Sendmail会在maillog中抛出一个错误: timeout waiting for input from [1.1.1.1] during client greeting 超时后,我看到系统发送到备份路由(在我上面的例子中的2.2.2.2),并立即被接受。 我有理由相信,这与负载有关,因为这些超时在高峰营业时间发生得更多。 这就是说,我想了解在处理新电子邮件和以前排队的邮件时,我的服务器正在启动多less个连接,这些连接都是针对同一个域的。 我认为 sendmail在单个文件中重试排队的邮件吗? 因此,如果我有10000封电子邮件推迟的邮件… queuerunner 不会启动10000个同时连接…它只会发出一个? 我也认为到达单独的SMTP会话的新来的邮件得到分别处理的权利? 因此,如果一个sendmail邮箱得到15个单独的新邮件,每个邮件都将由一个单独的sendmail子守护进程处理,这个守护进程将启动它自己到下游MTA的单独的SMTP连接? 有没有办法限制同时下游连接,而不会影响我的服务器可以处理的传入连接的数量?

接受一个域的所有邮件(从任何地方),将选定收件人的邮件转发到特定的地址,将所有其他邮件转发给特定的主机

我想要做的是build立一个sendmail服务器,接受所有人的邮件到一个特定的域名(比如example.com ),然后定义一个收件人列表,把这个邮件发送到指定的第三方地址上,一个特定的IP地址。 我试过这个: [root@splitter mail]# cat relay-domains example.com [root@splitter mail]# cat virtusertable [email protected] [email protected] 并且大部分域的转发工作正常 – 它被传递到由example.com的MX指定的example.com – 但exception( [email protected] )被忽略 我试过这个: [root@splitter mail]# cat local-host-names example.com [root@splitter mail]# cat mailertable example.com esmtp:[1.2.3.4] [root@splitter mail]# cat virtusertable [email protected] [email protected] 然后exception邮件正确分离,但其他任何用户在本地弹回( User unknown )。 我已经尝试添加到virtusertable : @example.com %[email protected] 但(可能并不意外),这导致rewrite: excessive recursion (max 50), ruleset canonify错误。 我更喜欢基于sendmail的解决scheme,因为我可以很快尝试这些解决scheme。 […]

sendmail是否支持BinaryMime ESMTP扩展? 如果是这样,这怎么能启用?

sendmail是否支持BINARYMIME ESMTP扩展? 如果是这样,这怎么能启用? 我没有看到在蝙蝠本书或文件中提到的这个。

当请求来自浏览器时,SMTP connect()失败

我有一个使用PHPMailer库发送电子邮件的PHP脚本。 当我使用PHP命令在SSH中运行脚本时,它完美地发送电子邮件。 但是,当同一个脚本的请求来自浏览器时,它是失败的,并给出以下错误。 2016-12-17 19:41:24 SMTP ERROR: Failed to connect to server: (0) 2016-12-17 19:41:24 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting error 我不确定是什么导致它不适用于浏览器请求。 我的脚本在AWS上,我正在使用谷歌商业电子邮件。 以下是我的代码片段。 require_once 'PHPMailer-master/PHPMailerAutoload.php'; $mail = new PHPMailer(); $mail->IsSMTP(); $mail->SMTPAuth = true; $mail->IsHTML(true); $mail->CharSet = "text/html; charset=UTF-8;"; $mail->SMTPDebug = 2; $mail->SMTPSecure = 'ssl'; $mail->Host = "smtp.gmail.com"; $mail->Port = 465; $mail->Username = "google email address"; […]

邮件头“from”域被服务器的域自动replace,为什么?

发送到公司服务器的任何邮件的“发件人”域的邮件头被服务器的域取代。 例如: [email protected]发送电子邮件到我们的服务器(company.com)。 我们看到这封电子邮件的发件人是[email protected]。 我不知道原因。 请帮帮我。 谢谢! 邮件系统:sendmail + dovecot + saslauthd sendmail.mc: #—————————————————————————– # $Sendmail: debproto.mc,v 8.14.3 2010-08-03 06:56:05 cowboy Exp $ # # Copyright (c) 1998-2009 Richard Nelson. All Rights Reserved. # # cf/debian/sendmail.mc. Generated from sendmail.mc.in by configure. # # sendmail.mc prototype config file for building Sendmail 8.14.3 # # Note: the […]

检查已发送电子邮件的标题(通过sendmail)

当我在控制台发送电子邮件时,如: echo "Body of the message" | mail -s "Some clever subject" [email protected] 我想检查电子邮件的标题,一旦发送。 他们没有出现在/var/log/maillog ,当我检查邮箱(使用mail )时,没有“发送”文件夹,我只能看到收到的电子邮件。 有没有发送电子邮件的地方,这将允许检查他们的标题? (或者我需要设置这样一个地方?怎么样?) sendmail的configuration是相当默认的(只添加一个别名)。

Sendmail在PHP 7.1 CLI(SSH)中不起作用

我打开了一个tmux屏幕,并开始我的通讯。 它使用mail() php函数将电子邮件发送到500,000个目的地。 这通常应该不超过一天。 但是,我已经升级了我的VPS,并且必须重置所有的数据和设置,所以现在我试图使用与以前相同的方法(安装的sendmail等)再次发送邮件,现在我得到一个deferred connection timed out在/var/log/mail.log的日志文件中。 我试图扫描我的端口来检查它们是否打开; 是的,他们是,我做了一个telnet localhost 25 ,它的工作,但是,我尝试了例如telnet smtp.gmail.com 25 ,它试图build立一个连接,但失败,返回一个超时错误。 我正在使用GoDaddy的服务器 Linux Ubuntu 14.04的最终计划。 感谢您的回答。

远程主机无法访问时如何防止sendmail丢失邮件

我有一个多个主机的小域。 Sendmail设置为将所有本地生成的邮件(大部分邮件都通过cron作业生成的root@localhost )转发到中央“邮件中心”,使用 define(`MAIL_HUB', `somehost.mydomain.org') 在sendmail.mc 。 最近我在远端的邮件服务器出了问题,所以它不接受来自这个主机的邮件。 这导致sendmail删除所有邮件。 从/var/log/maillog : sendmail[3133]: n4461S5s003133: n4461S5t003133: return to sender: Service unavailable sendmail[3133]: n4461S5t003133: to=root, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=34772, relay=XXXXX.org. [91.184.38.153], dsn=5.0.0, stat=Service unavailable sendmail[3133]: n4461S5s003133: Losing ./qfn4461S5s003133: savemail panic 这段时间产生的所有邮件都被丢弃并永远丢失。 我怎样才能防止这个? 理想情况下,我希望sendmail再试一次,或者最终将邮件保存到本地文件作为最后的手段。

Sendmail默认IP

我想设置sendmail使用的默认IP发送电子邮件。 我已经通过sendmail.mc,通过webmin中的选项,只是找不到答案。 谢谢。