新手第一次尝试使用 sendmail。唯一的问题邮件从未到达(甚至不是垃圾邮件)我有以下日志:
邮件错误是空的
邮件日志显示accepted for delivery
,但有时我也得到,stat=Deferred: Connection timed out with alt4.gmail-smtp-in.l.google.com
但不是总是如此,所以不确定这是否是问题所在?
我已经检查过端口 25 是否打开netstat -tuplen | grep 25
邮件日志:
Feb 17 16:57:16 mysite sendmail[1457]: w1HGvG6p001457: [email protected], ctladdr=www-data (33/33), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30423, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (w1HGvG8t001458 Message accepted for delivery)
Feb 17 17:00:09 mysite sm-mta[689]: w1HGiDDr003604: to=. <[email protected]>, ctladdr=<[email protected]> (33/33), delay=00:15:56, xdelay=00:10:01, mailer=esmtp, pri=120652, relay=alt4.gmail-smtp-in.l.google.com. [74.125.28.26], dsn=4.0.0, stat=Deferred: Connection timed out with alt4.gmail-smtp-in.l.google.com.
队列文件是这样的:
V8
T1518886636
K0
N0
P30652
Fbs
$_localhost [127.0.0.1]
$rESMTP
$smysite.com
${daemon_flags}
${if_addr}127.0.0.1
S<[email protected]>
A<>
rRFC822; [email protected]
RPFD:<[email protected]>
H?P?Return-Path: <�g>
H??Received: from mysite.com (localhost [127.0.0.1])
by mysite.com (8.15.2/8.15.2/Debian-8) with ESMTP id w1HGvG8t001458
for <[email protected]>; Sat, 17 Feb 2018 16:57:16 GMT
H?x?Full-Name: www-data
H??Received: (from www-data@localhost)
by bikecomparator.com (8.15.2/8.15.2/Submit) id w1HGvG6p001457;
Sat, 17 Feb 2018 16:57:16 GMT
H??Date: Sat, 17 Feb 2018 16:57:16 GMT
H??Message-Id: <[email protected]>
H??To: [email protected]
H??Subject: Signup | Verification
H??X-PHP-Originating-Script: 1000:userMgmt.php
H??From:[email protected]
netstat -ntlp | grep sendmail
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 687/sendmail: MTA:
tcp 0 0 127.0.0.1:587 0.0.0.0:* LISTEN 687/sendmail: MTA:
主办方
127.0.0.1 localhost mysite.com
热名
mysite.com
/etc/mail/sendmail.mc
define(`_USE_ETC_MAIL_')dnl
include(`/usr/share/sendmail/cf/m4/cf.m4')dnl
VERSIONID(`$Id: sendmail.mc, v 8.15.2-8 2016-12-08 18:43:49 cowboy Exp $')
OSTYPE(`debian')dnl
DOMAIN(`debian-mta')dnl
dnl # Items controlled by /etc/mail/sendmail.conf - DO NOT TOUCH HERE
undefine(`confHOST_STATUS_DIRECTORY')dnl #DAEMON_HOSTSTATS=
dnl # Items controlled by /etc/mail/sendmail.conf - DO NOT TOUCH HERE
dnl #
dnl # General defines
dnl #
dnl # SAFE_FILE_ENV: [undefined] If set, sendmail will do a chroot()
dnl # into this directory before writing files.
dnl # If *all* your user accounts are under /home then use that
dnl # instead - it will prevent any writes outside of /home !
dnl # define(`confSAFE_FILE_ENV', `')dnl
dnl #
dnl # Daemon options - restrict to servicing LOCALHOST ONLY !!!
dnl # Remove `, Addr=' clauses to receive from any interface
dnl # If you want to support IPv6, switch the commented/uncommentd lines
dnl #
FEATURE(`no_default_msa')dnl
dnl DAEMON_OPTIONS(`Family=inet6, Name=MTA-v6, Port=smtp, Addr=::1')dnl
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
dnl DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission, M=Ea, Addr=::1')dnl
DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, M=Ea, Addr=127.0.0.1')dnl
dnl #
dnl # Be somewhat anal in what we allow
define(`confPRIVACY_FLAGS',dnl`needmailhelo,needexpnhelo,needvrfyhelo,restrictqrun,restrictexpand,nobodyreturn,authwarnings')dnl
dnl #
dnl # Define connection throttling and window length
define(`confCONNECTION_RATE_THROTTLE', `15')dnl
define(`confCONNECTION_RATE_WINDOW_SIZE',`10m')dnl
dnl #
dnl # Features
dnl #
dnl # use /etc/mail/local-host-names
FEATURE(`use_cw_file')dnl
dnl #
dnl # The access db is the basis for most of sendmail's checking
FEATURE(`access_db', , `skip')dnl
dnl #
dnl # The greet_pause feature stops some automail bots - but check the
dnl # provided access db for details on excluding localhosts...
FEATURE(`greet_pause', `1000')dnl 1 seconds
dnl #
dnl # Delay_checks allows sender<->recipient checking
FEATURE(`delay_checks', `friend', `n')dnl
dnl #
dnl # If we get too many bad recipients, slow things down...
define(`confBAD_RCPT_THROTTLE',`3')dnl
dnl #
dnl # Stop connections that overflow our concurrent and time connection rates
FEATURE(`conncontrol', `nodelay', `terminate')dnl
FEATURE(`ratecontrol', `nodelay', `terminate')dnl
dnl #
dnl # If you're on a dialup link, you should enable this - so sendmail
dnl # will not bring up the link (it will queue mail for later)
dnl define(`confCON_EXPENSIVE',`True')dnl
dnl #
dnl # Dialup/LAN connection overrides
dnl #
include(`/etc/mail/m4/dialup.m4')dnl
include(`/etc/mail/m4/provider.m4')dnl
dnl #
dnl # Default Mailer setup
MAILER_DEFINITIONS
MAILER(`local')dnl
MAILER(`smtp')dnl
答案1
您的传出 smtp 连接可能被您的 ISP 阻止(作为传出垃圾邮件预防)。
当您通过 telnet 连接到任何 gmail.com MX 的 SMTP 端口时,您是否会收到 SMTP 问候消息来自主持人?[是 sendmail 的错误吗?]
要获取 gmail MX 列表,请使用:dig MX gmail.com
要获取/检查 SMTP 问候语,请使用:telnet gmail-smtp-in.l.google.com 25
答案2
接收电子邮件:
根据您的netstat -ntlp | grep sendmail
输出,您的服务器只是在本地主机(127.0.0.1)中监听,而不是在您的 IP 地址中监听。如果您想接收电子邮件,请检查这。
发送电子邮件:
核实:
DNS:
host -t mx gmail.com
。答案如下:gmail.com mail is handled by 10 alt1.gmail-smtp-in.l.google.com. gmail.com mail is handled by 20 alt2.gmail-smtp-in.l.google.com. gmail.com mail is handled by 40 alt4.gmail-smtp-in.l.google.com. gmail.com mail is handled by 5 gmail-smtp-in.l.google.com. gmail.com mail is handled by 30 alt3.gmail-smtp-in.l.google.com.
更多 DNS:(
host alt4.gmail-smtp-in.l.google.com
或另一个 gmail SMTP 服务器)。答案如下:alt4.gmail-smtp-in.l.google.com has address 209.85.202.27 alt4.gmail-smtp-in.l.google.com has IPv6 address 2a00:1450:400b:c00::1a
SMTP 端口访问:
nc -vv alt4.gmail-smtp-in.l.google.com 25
您应该收到 220 代码:220 mx.google.com ESMTP 7si2060923qty.86 - gsmtp [831 ms]
如果没有,也许您的 ISP 正在阻止端口 25,您可以尝试使用 SSL 上的 SMTP(端口 465)或 SMTP 提交(端口 587)。