本帖最后由 victorzero 于 2016-7-25 14:35 编辑
版本Discuz_X3.2_SC_UTF8
后台使用 用户 -> 发送通知 -> 发送方式email, 提交就会出现
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.
无论是群发还是只有一个用户都是这样.
发送方式如果设成 短消息 就能正常发送.
一开始怀疑是邮件设置或者服务器对sendmail支持的问题,但后来确认好像不是.
邮件设置使用的默认/推荐值.
邮件发送方式: |
*通过 PHP 函数的 sendmail 发送(推荐此方式)
通过 SOCKET 连接 SMTP 服务器发送(支持 ESMTP 验证)
通过 PHP 函数 SMTP 发送 Email(仅 Windows 主机下有效,不支持 ESMTP 验证)
| | | 邮件头的分隔符: |
使用 CRLF 作为分隔符(通常为 Windows 主机)
* 使用 LF 作为分隔符(通常为 Unix/Linux 主机)
使用 CR 作为分隔符(通常为 Mac 主机)
|
确认了主机是linux的,PHP支持sendmail
在 站长 -> 邮件设置 -> 检测 里,无论是 发给单个用户还是发给多个用户都能成功发送. (在邮箱里确认已经收到了测试邮件.)
data/log里面也没有错误记录
只有管理面板的log (cplog.php) , 里面的内容看上去也没有什么问题.
- <?PHP exit;?> 1469070350 xxx.adminid 1 xxx.ip members GET={operation=newsletter; username=xxx.sendto; notifymember=1; subject=测试; message=测试测试; notifymembers=email; pertask=100; newslettersubmit=提交; conditions=a:2:{s:8:"username";s:6:"xxx.sendto";s:9:"tablename";s:0:"";}; }; POST={notifymember=1; subject=测试; message=测试测试; notifymembers=email; pertask=100; newslettersubmit=提交; conditions=a:2:{s:8:"username";s:6:"xxx.sendto";s:9:"tablename";s:0:"";}; };
复制代码
以上是500的站点通知
- <?PHP exit;?> 1469072107 xxx.adminid 1 xxx.ip checktools GET={operation=mailcheck; frame=no; anchor=mailcheck; settingnew={mail={mailsend=1; mailusername=1; sendmail_silent=1; }; }; test_to=mail_list; mailcheck=检测邮件发送设置; }; POST={anchor=mailcheck; operation=mailcheck; settingnew={mail={mailsend=1; mailusername=1; sendmail_silent=1; }; }; test_to=mail_list; mailcheck=检测邮件发送设置; };
复制代码
以上是成功发送的邮件设置测试
不知道到底是什么地方的问题.请问应该如何查错呢?
---------------------
查了好久也没找到到底是什么问题.
后来把PHP版本从5.3换到5.4就好了....真是....
---------------------
另外,论坛的验证码图片出问题了,显示不出来,没有办法回帖!
|