在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. JS手写状态管理的实现(转)

    https://juejin.im/post/5c528411e51d456898361e43

  2. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第3节 线程同步机制_1_线程安全问题的概述

  3. write()与writelines()

    f = open('user','a+') f.write('abcde')   #write只能写字符串 f.writelines(['444','rrrr','uuu'])  #writeline ...

  4. Beetle简单构建TCP服务

    使用Beetle构建TCP服务应用是件非常简单的事情,它并不需要你去关注Socket细节,如果你想用Socket编写高性能的TCP服务,那你要关注的东西非常多,异步数据处理,大量连接下的线程管理和连接 ...

  5. 【ABAP系列】SAP GUI740 PATCH5出现弹窗BUG

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP GUI740 PATCH ...

  6. Tensorflow实战 手写数字识别(Tensorboard可视化)

    一.前言 为了更好的理解Neural Network,本文使用Tensorflow实现一个最简单的神经网络,然后使用MNIST数据集进行测试.同时使用Tensorboard对训练过程进行可视化,算是打 ...

  7. Maven系列学习(三)Maven生命周期和插件

    Maven生命周期和插件 Maven另外的两个核心概念就是生命周期和插件,Maven的生命周期都是抽象的,其实实际行为都是由插件来完成的,生命周期和插件两者协同工作 1.生命周期 Maven的生命周期 ...

  8. [Python3 练习] 004 水仙花数

    题目:水仙花数 (1) 描述 水仙花数各位的数字的立方之和等于自身 如 153 为水仙花数,因为 153 = 1^3 + 5^3 + 3^3 (2) 要求 找到所有的三位数的水仙花数 (3) 程序 # ...

  9. F. Fixing Banners

    http://codeforces.com/gym/102394/problem/F F. Fixing Banners time limit per test 1 second memory lim ...

  10. 灵活的理解JavaScript中的this指向(一)

    this是JavaScript中的关键字之一,在编写程序的时候经常会用到,正确的理解和使用关键字this尤为重要.首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确 ...