首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  PHP

关于 PHP 邮件发送问题

  •  
  •   misskiki · 123 天前 · 1725 次点击
    这是一个创建于 123 天前的主题,其中的信息可能已经有所发展或是发生改变。

    由于自己写一个项目 在找回密码设置那里 用邮箱验证,可是配置邮箱服务器的时候遇到问题

    SMTPDebug = 1;//是否启用 smtp 的 debug 进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭 debug 调试模式 $mail->isSMTP();//使用 smtp 鉴权方式发送邮件 $mail->SMTPAuth=true;//smtp 需要鉴权 这个必须是 true $mail->Host = 'SMTP.qq.com';//链接 qq 域名邮箱的服务器地址 $mail->SMTPSecure = 'ssl';//设置使用 ssl 加密方式登录鉴权 $mail->Port =465;//设置 ssl 连接 smtp 服务器的远程服务器端口号,以前的默认是 25,但是现在新的好像已经不可用了 可选 465 或 587 $mail->CharSet = 'UTF-8';//设置发送的邮件的编码 可选 GB2312 我喜欢 utf-8 据说 utf8 在某些客户端收信下会乱码 $mail->FromName = 'test';//设置发件人姓名(昵称) 任意内容,显示在收件人邮件的发件人邮箱地址前的发件人姓名 $mail->Username ='[email protected]';//smtp 登录的账号 这里填入字符串格式的 qq 号即可 $mail->Password = 'ybhfajzdwkebjb';//smtp 登录的密码 使用生成的授权码(就刚才叫你保存的最新的授权码) [非常重要:在网页上登陆邮箱后在设置中去获取此授权码] $mail->From = '[email protected]';//设置发件人邮箱地址 这里填入上述提到的“发件人邮箱” $mail->isHTML(true);//邮件正文是否为 html 编码 注意此处是一个方法 不再是属性 true 或 false $mail->addAddress($to);//设置收件人邮箱地址 $mail->Subject = $title;//添加该邮件的主题 $mail->Body = $content;//添加邮件正文 上方将 isHTML 设置成了 true,则可以是完整的 html 字符串 如:使用 file_get_contents 函数读取本地的 html 文件 //简单的判断与提示信息 if($mail->send()) { return true; }else{ return false; } } ?>
    test
    '); if($flag){ echo "发送邮件成功!"; }else{ echo "发送邮件失败!"; } ?>

    放在 乌班图服务器测试的时候
    延迟 1 分钟左右返回邮件发送成功,可是我没有收到任何邮件 连垃圾信箱都没有。 我去在配置密码那里把密码清空的时候 , 同样延迟之后返回一个邮件发送成功 看了网上的信息都是这样配置的都可以

    20 回复  |  直到 2019-08-08 16:50:18 +08:00
        1
    DefineJ   123 天前
    你这一大坨,让鬼怎么看啊,兄弟
        2
    kingOFWorld1   123 天前
    兄弟 你密码露了
        3
    VANHOR   123 天前
    ...不想看
        4
    sadfQED2   123 天前 via Android
    你就不能排版一下吗,本来想看看的,算了
        5
    ferock   123 天前
    $mail->Password = 'ybhfajzdwkebjb'
        6
    misskiki   123 天前
    第一次来 V2EX 不适应 看不到编辑器
        7
    misskiki   123 天前
    第一次来 V2EX 不适应 看不到哪些编辑器
        8
    misskiki   123 天前
    密码假的
        9
    laravel   123 天前
    考虑下云服务器相应的端口打开没
    在云服务器上 telnet smtp.xxoo.com port 测试下能正常通信不
        10
    falcon05   123 天前 via iPhone
    无力吐槽
        11
    misskiki   123 天前
    不好意思
        12
    misskiki   123 天前
    不能 是我服务器少安装东西了吗
        13
    Symo   123 天前
    直接购买三方服务好了, 自己发邮件很容易超出邮件服务商的隐性限制或者被垃圾邮件过滤掉
        14
    HuasLeung   123 天前
    建议速度改 QQ 邮箱密码,授权码能登陆邮箱
        15
    misskiki   123 天前
    那是假的 谢谢提醒
        16
    misskiki   123 天前
    有什么推荐的嘛
        17
    kopisee   122 天前 via Android
    用 SMTP 的話服務器就不需要再裝甚麼了吧。普通虛擬主機都可以。

    看看 QQ 郵箱登錄後的郵箱首頁底部的「自助查詢」,看看發件郵箱的「發信查詢」、收信郵箱的「收信查詢」有沒有記錄。
    有些連垃圾箱都進不去的郵件在「收信查詢」可以查到。
        18
    Domado   122 天前
    QQ 邮箱发件要 SMTP 授权码
        19
    z775781   122 天前
    建议直接买第三方服务,使用真实服务器发邮件,会导致服务器 ip 地址泄露,
    套了 cdn 的话,在很多时候,是需要刻意隐藏服务器真实 ip 地址,可以防御一些普通的 ddos
        20
    chinesestudio   122 天前
    @z775781 邮件服务器和应用服务器分开就好了 自建挺方便 反正第三方服务器邮件量大一样进垃圾服务器

    苹果等推广邮件都在垃圾邮箱的 不管公司大小 除非自己邮箱服务如谷歌
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4071 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 28ms · UTC 05:44 · PVG 13:44 · LAX 21:44 · JFK 00:44
    ♥ Do have faith in what you're doing.