我正在运行一个使用PHP sendmail功能的网络服务器,它直接连接到路由器,在我将旧路由器更换为新路由器之后,它再也无法工作了。
旧路由器 - Cisco RV082 - 常规固件 新路由器 - Netgear R7000 - DD-WRT v3.0-r30700M kongac
我尝试打开所有端口并关闭防火墙,但仍然无法正常工作。 请帮忙。
这是日志的一部分。 10月11日是工作日,10月13日不是。
/var/log/mail.log
info_violations
答案 0 :(得分:0)
Marc B的评论是正确的。这不是你问这类问题的最佳网站。试试Network Engineering Stack Exchange或类似的东西。
现在,如果这是一个PHP问题,那么是的,您已发布到正确的网站,但需要重新提出您的问题,以便更加合规。如果是这种情况,您是否仔细检查了PHP manual on the send mail function中的所有注意事项?从编程角度来看,您的错误可能只是您尝试发送电子邮件的方式。旧的路由器可能只是忽略了你的错误(格式错误的消息)并且无论如何都要发送出来的东西;根据我的经验,情况并非如此,因为您的路由器通常与此无关,除非根据您的设置执行路由或转发工作。
更具体地说,我正在试图分开您的日志,我认为在PHP方面您可能会犯一些错误。
Oct 13 19:20:26 localhost sm-mta [6369]:u9E2KQ20006369:from =<&gt ;, size = 2122,class = 0,nrcpts = 1,msgid =< 201610140220.u9E2K13e006368@localhost.localdomain> ;,proto = ESMTP,$
您的服务器未在此行记录发件人电子邮件地址。在使用mail函数的PHP脚本中,你忘了设置一个吗?
Oct 13 19:20:26 localhost sm-msp-queue [6368]:u9E2K13e006368:to = www-data,delay = 00:00:00,xdelay = 00:00:00,mailer = relay,pri = 31509,relay = [127.0.0.1] [127.0.0.1],dsn $ 10月13日19:20:26 localhost sm-mta [6370]:u9E2KQ20006369:to =,delay = 00:00:00,xdelay = 00:00:00,mailer = local,pri = 32350,dsn = 2.0.0, STAT = $
我可能会读错了(这也是一个编程网站),但您的邮件中继设置为您的本地主机。为什么?您从11日开始的旧日志显示您正在使用Google中继。
似乎在PHP脚本中,您使用发送电子邮件或您的PHP配置/服务器本身都是错误配置的。
答案 1 :(得分:0)
如果您可以从网络中删除服务器,您也应该能够发送邮件,但是要验证新路由器的配置,看是否有阻止smtp端口25的内容