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

关于 PHP 邮件发送问题

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

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

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

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

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