我正在尝试使用sendmail发送电子邮件。 我遵循这个方法: http : //linuxconfig.org/configuring-gmail-as-sendmail-email-relay
我试图通过控制台发送电子邮件:
echo "Just testing my sendmail gmail relay" | mail -v -s "Sendmail gmail Relay - New Server" user@gmailcom
命令的输出是:
WARNING: local host name (server01) is not qualified; see cf/README: WHO AM I? [email protected]... Connecting to [127.0.0.1] via relay... 220 server01 ESMTP Sendmail 8.14.4/8.14.4; Thu, 10 Dec 2015 18:05:36 -0200 >>> EHLO server01 250-server01 Hello server1 [127.0.0.1], pleased to meet you 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-8BITMIME 250-SIZE 250-DSN 250-ETRN 250-DELIVERBY 250 HELP >>> MAIL From:<root@server01> SIZE=279 250 2.1.0 <root@server01>... Sender ok >>> RCPT To:<[email protected]> >>> DATA 250 2.1.5 <[email protected]>... Recipient ok 354 Enter mail, end with "." on a line by itself >>> . 250 2.0.0 tBAK5aGc015664 Message accepted for delivery [email protected]... Sent (tBAK5aGc015664 Message accepted for delivery) Closing connection to [127.0.0.1] >>> QUIT
221 2.0.0 server01closures连接但电子邮件永远不会到达。 你们能帮我吗?
日志:
Dec 10 19:03:31 server01 sendmail[16310]: tBAL3Uua016310: from=root, size=279, class=0, nrcpts=1, msgid=<201512102103.tBAL3Uua016310@server01>, relay=root@localhost Dec 10 19:03:31 server01 sendmail[16311]: tBAL3VCu016311: from=<root@server01>, size=524, class=0, nrcpts=1, msgid=<201512102103.tBAL3Uua016310@server01>, proto=ESMTP, daemon=MTA, relay=corp-poa-pabx1 [127.0.0.1] Dec 10 19:03:31 server01 sendmail[16310]: tBAL3Uua016310: [email protected], ctladdr=root (0/0), delay=00:00:01, xdelay=00:00:00, mailer=relay, pri=30279, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (tBAL3VCu016311 Message accepted for delivery) Dec 10 19:03:32 server01 sendmail[16313]: STARTTLS=client, relay=gmail-smtp-msa.l.google.com., version=TLSv1/SSLv3, verify=FAIL, cipher=ECDHE-RSA-AES128-GCM-SHA256, bits=128/128 Dec 10 19:03:33 server01 sendmail[16313]: tBAL3VCu016311: to=<[email protected]>, ctladdr=<root@server01> (0/0), delay=00:00:02, xdelay=00:00:02, mailer=relay, pri=120524, relay=gmail-smtp-msa.l.google.com. [64.233.190.108], dsn=5.0.0, stat=Service unavailable Dec 10 19:03:33 server01 sendmail[16313]: tBAL3VCu016311: tBAL3XCu016313: DSN: Service unavailable Dec 10 19:03:33 server01 sendmail[16313]: tBAL3XCu016313: to=<root@server01>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=31757, dsn=2.0.0, stat=Sent
提前致谢..
Gmail拒绝接受您的电子邮件。
Dec 10 19:03:33 server01 sendmail [16313]:tBAL3VCu016311:to =,ctladdr =(0/0),delay = 00:00:02,xdelay = 00:00:02,mailer = relay,pri = 120524,中继= gmail-smtp-msa.l.google.com。 [64.233.190.108],dsn = 5.0.0,stat =服务不可用
以root身份执行以下命令以详细模式发送testing消息
(你会看到SMTP会话logging):
(echo Subject: test; echo; echo test)|/usr/sbin/sendmail -Am -i -v [email protected]
您可以将-d60.5添加到sendmail命令行选项(收件人地址之前)以跟踪包括authinfo查找在内的映射/数据库查找。
发送电子邮件给像gmail,yahoo,msn等大型服务器可能会非常棘手,因为通过反垃圾邮件防护要求所有configuration都处于完美状态。
您需要检查以下内容:
使用parsing为您的IP的实际域作为您的系统的主机名。 所以,而不是server01你应该使用your-company.com
请确保您的IP具有PTR DNSloggingconfiguration为parsing到您用于发送电子邮件( your-company.com )的相同的域
确保你已经为your-company.com configuration了SPF DNSlogging
确保你有DKIM的工作 ,密码唱歌从您的服务器的每封电子邮件。
这个步骤应该足以让你的电子邮件实际到达Gmail。