我正在开发我的ubuntu 9.10机器上的web(PHP).
我正在使用sendmail发送邮件,在我的本地计算机上进行开发时,我发送本地邮件(发送给我的用户’doron’).
我正在使用sendmail发送邮件,在我的本地计算机上进行开发时,我发送本地邮件(发送给我的用户’doron’).
直到几天前,我才能从PHP的mail()函数发送邮件,并使用mail命令从命令行发送邮件.
我正在使用sendmail和mailutils.
从最近几天开始,它似乎停止了工作.
当我尝试从命令行发送邮件时,我在我的syslog(以及mail.info和mail.log)中获得以下内容:
Mar 3 13:27:58 doron-desktop sendmail[4693]: o23BRwlA004693: from=doron,size=84,class=0,nrcpts=1,msgid=<201003031127.o23BRwlA004693@doron-desktop.>,relay=doron@localhost Mar 3 13:27:58 doron-desktop sm-mta[4694]: o23BRwtQ004694: ruleset=check_rcpt,arg1=<doron@doron-desktop>,relay=localhost [127.0.0.1],reject=553 5.1.8 <doron@doron-desktop>... Domain of sender address doron@doron-desktop does not exist Mar 3 13:27:58 doron-desktop sendmail[4693]: o23BRwlA004693: to=<doron@doron-desktop>,ctladdr=doron (1000/1000),delay=00:00:00,xdelay=00:00:00,mailer=relay,pri=30084,relay=[127.0.0.1] [127.0.0.1],dsn=5.1.8,stat=User unknown Mar 3 13:27:58 doron-desktop sm-mta[4694]: o23BRwtQ004694: from=<doron@doron-desktop>,nrcpts=0,proto=ESMTP,daemon=MTA-v4,relay=localhost [127.0.0.1]
尝试在本地telnet到端口25会产生以下结果(doron @ doron-desktop的输出相同):
doron@doron-desktop:/var/mail$telnet localhost 25 Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 doron-desktop. ESMTP Sendmail 8.14.3/8.14.3/Debian-9ubuntu1; Wed,3 Mar 2010 13:26:06 +0200; (No UCE/UBE) logging access from: localhost(OK)-localhost [127.0.0.1] helo localhost 250 doron-desktop. Hello localhost [127.0.0.1],pleased to meet you mail from: doron@localhost 250 2.1.0 doron@localhost... Sender ok rcpt to: root@localhost 553 5.1.8 root@localhost... Domain of sender address doron@doron-desktop does not exist
但是 – 如果我这样做,但在现场邮件中使用doron@127.0.0.1,我得到:
250 2.1.5 root... Recipient ok
我的/ etc / hosts文件:
127.0.0.1 localhost 127.0.1.1 doron-desktop doron-desktop.
(如果我没有“doron-desktop.”(带有结束点),mail命令会花费很多时间(大约30秒)直到它响应,但结果是相同的.)
我相信您需要将hosts文件更改为state:
127.0.0.1 localhost 127.0.0.1 doron-desktop
Ubuntu Edgy引入了127.0.1.1.但是有些应用程序会查找与127.0.1.1匹配的主机名. Sendmail就是这样一个应用程序.如果你想坚持使用新标准,你可以保留127.0.1.1,但一定要添加127.0.0.1 doron-desktop.
ruleset=check_rcpt
之后,您被告知您的doron-desktop域不存在.有不同的文件可以让您设置域名.尝试在以下区域设置域名:
/etc/hosts /etc/resolv.conf sendmail conf files
你肯定需要说服sendmail你有一个域名,并且它是FQDN(即使它不是).如果您有域名注册使用(在您的主机文件中):
doron-desktop.somedomain.com
服务器不会关心公共DNS不指向您的台式计算机.话虽这么说,您发送电子邮件的电子邮件服务器可能(或将会)关心您的桌面服务器代表您放入hosts文件中的任何域名发送电子邮件,并可能阻止电子邮件,将其返回或将其列入黑名单(如果您只是进行测试,则不会发生黑名单 – 您需要发送数以千计的测试.