在discuz x2.5邮箱设置里面已经说了很多关于邮件设置和常见问题的处理办法了,今天这里主要是说明下Discuz! 邮件发送失败排查思路,适用于任何板块的Discuz程序。

Discuz!
邮件发送失败排查思路方法:

1、要确保填写的邮件信息是否正确,主要检测邮件服务器格式填写。

2、查看邮件日志文件,data/log目录下
有一个201210_SMTP.php 类似这样的文件,下面举例说明下

举例一:

  1. <?PHP exit;?>    
       2012-10-17 16:59:59        127.0.0.1        1    
       /admin.php?action=checktools&operation=mailcheck&frame=no    
       (smtp.qq.com:25) MAIL FROM -

复制代码

通过失败日志,进入程序
source/function/function_mail.php, sendmail 函数在失败的时候会记录。 如上面的日志中“MAIL
FROM”,在sendmail 函数中的代码是。这样就定位到具体的错误地方。

  1. fputs($fp, "MAIL FROM:
    <".preg_replace("/.*\<(.+?)\>.*/", "\\1",
    $email_from).">\r\n");
  2. $lastmessage =
    fgets($fp, 512);
  3. if(substr($lastmessage, 0, 3) != 250) {
  4. fputs($fp, "MAIL FROM: <".preg_replace("/.*\<(.+?)\>.*/", "\\1",
    $email_from).">\r\n");
  5. $lastmessage = fgets($fp, 512);
  6. if(substr($lastmessage, 0, 3) != 250) {
  7. runlog('SMTP', "({$_G[setting][mail][server]}:{$_G[setting][mail][port]})
    MAIL FROM - $lastmessage", 0);
  8. return false;
  9. }
  10. }

复制代码

举例二:

  1. Unable to connect to the SMTP
    server

复制代码

定位到代码sendmail函数的位置

  1. if(!$fp =
    fsocketopen($_G['setting']['mail']['server'], $_G['setting']['mail']['port'],
    $errno, $errstr, 30)) {
  2. runlog('SMTP', "({$_G[setting][mail][server]}:{$_G[setting][mail][port]})
    CONNECT - Unable to connect to the SMTP server", 0);
  3. return
    false;
  4. }

复制代码

这的错误可能是服务器禁止访问外部邮件服务器。。这里就不一一例举每种错误的情况

。排查思路是通过错误日志定位,然后分析可能的错误原因。

常见错误情况:

1、服务器没有开放25端口

方法:检测服务器是否开启了25端口方,可以使用telnet命令进行验证,本地安装telnet(安装方式可以到网上搜索相关教程),
运行 --输入cmd --输入telnet   www.zhanhelp.com(或者ip) 25端口 看返回的信息是什么 。
或者咨询空间商是否开放了25端口

2、SMTP 服务器是否正确,结尾有没多余空格,是否在该邮箱的邮箱设置里面允许启用SMTP
服务器;
3、服务器是否有设置防火墙过滤等功能。

discuz x3.2设置注册邮件激活_企业邮箱发送邮件失败的更多相关文章

  1. dedecmsV5.7和discuz!X3.4整合之后免激活登陆

    问题:dedecmsv5.7和discuz!X3.4整合之后,从dede过去的用户,第一次登陆discuz!X3.4,需要激活.后来我就上百度了一番,找到了一个方法 我找到的方法: 1.在dedecm ...

  2. [Windows Server 2012] Discuz X3安全设置

    ★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com ★[护卫神·V课堂]是护卫神旗下专业提供服务器教学视频的网站,每周更新视频. ★ 本节我们将带领大家:Discu ...

  3. 记一次邮件推送的坑,c#基于smtp使用腾讯企业邮箱发送邮件总是失败的原因

    今天在弄企业邮箱推送的东西,原版代码是这样的 public void SendEmail(string title, string content) { try { MailMessage mailM ...

  4. [py][mx]django注册-邮件激活

    人生,学习,就是一段旅途, 说是放弃,其实是自信心作祟. 因为不同时间段状态,譬如晚上和早上刚来状态不一样.做相同事情容器失去自信而放弃. 坚持可以打破这个魔咒 还有就是有些问题得分割, 不要让压死牛 ...

  5. Discuz!X3.2修改用户名注册长度限制的方法

    Discuz!X3.2用户名注册长度限制为15个字符,有些站长朋友觉得太短,需要改的长一点,但是很多人都不知道怎么修改,下面就告诉大家如何修改这个限制.按照以下步骤来就可以了! 1.打开 ) {    ...

  6. 《JavaWeb从入门到改行》注册时向指定邮箱发送邮件激活

    javaMail API javaMail是SUN公司提供的针对邮件的API . 两个jar包  mail.jar 和 activation.jar java mail中主要类:javax.mail. ...

  7. DEDE会员注册邮件验证时,用户无法收到邮件的解决方法

    本文以qq邮箱.163邮箱和易网库提供的企业邮箱为例,简要介绍在织梦(DEDECMS)中设置SMTP验证发送邮件的方法 一.在织梦中使用qq邮箱发送邮件 1.在织梦中使用qq邮箱发送邮件, 需要确保q ...

  8. SSL邮件发送(腾讯企业邮箱测试通过,可以支持多附件)

    参考网址:http://www.cnblogs.com/LUA123/p/5575134.html ,谢谢! package net.common.utils.common; import java. ...

  9. Discuz X3.2 SEO设置 title 不支持空格的解决方法

    很多使用 Discuz X3.2 的同学都发现这么一个问题:在后台SEO设置-title设定的时候,即使你在连字符两侧输入了空格,在前台也显示不出来,很多同学纠结这个问题,今天终于找到了解决方法,在此 ...

随机推荐

  1. VMware 虚拟化编程(14) — VDDK 的高级传输模式详解

    目录 目录 前文列表 虚拟磁盘数据的传输方式 Transport Methods Local File Access NBD and NBDSSL Transport SAN Transport Ho ...

  2. Delphi XE2 之 FireMonkey 入门(27) - 数据绑定: TBindingsList: TBindScope

    Delphi XE2 之 FireMonkey 入门(27) - 数据绑定: TBindingsList: TBindScope 如果在编写表达式时, 如果能够随意指认需要的控件就好了(通过 Owne ...

  3. rpm安装软件时提示warning: *.rpm: Header V3 RSA/SHA256 Signature, keykey ID c105b9de

    在RedHat下有时候用rpm安装软件是会出现下面则中错误 1.安装时提示:warning: *.rpm: Header V3 RSA/SHA256 Signature, keykey ID c105 ...

  4. cmd 编码修改。 牛阿。 解决问题

    http://jingyan.baidu.com/article/e75aca85440f01142edac636.html 命令窗口修改编码,CMD编码修改方法 听语音 | 浏览:9696 | 更新 ...

  5. Linux pip命令报错 -bash: pip: command not found

    下载 $ wget https://bootstrap.pypa.io/get-pip.py 安装 $ python get-pip.py 查看版本 $ pip -V 查看安装路径: find / - ...

  6. OO第四单元单元总结

    目录 1.本单元两次作业的架构设计 2.四个单元中架构设计及OO方法理解的演进 3.测试理解与实践的演进 4.课程收获 5.给课程的改进建议 1.本单元两次作业的架构设计 第四单元的两次作业,我的表现 ...

  7. idea奇葩问题汇总

    1.用idea在tomcat里运行普通的springMVC项目,用nacos做为配置中心,通过@NacosValue来读取配置中心的值,配置了autoRefreshed = true但是不起作用,读取 ...

  8. (一) MySQL架构

    1.MySQL架构 MySQL拥有分层的架构,上层是服务器层的服务和查询执行引擎,下层是存储引擎,真正负责数据的存储和提取. 服务层包含了连接和线程处理,以及大多数MySQL的核心服务,如对SQL的解 ...

  9. 《剑指offer》面试题17 合并两个排序的链表 Java版

    我的方法:新初始化一个链表头,比较两个链表当前节点的大小,然后连接到该链表中.遍历两个链表直到null为止. public ListNode merge(ListNode first, ListNod ...

  10. NodeJS、npm安装步骤和配置(windows版本)

    https://jingyan.baidu.com/article/48b37f8dd141b41a646488bc.html 上面这个链接很详细了,怕它没了自己记一遍.我的简洁一点. 1. 打开no ...