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

关于 PHP 邮件发送问题

  •  
  •   misskiki · 2019-08-08 10:27:27 +08:00 · 4124 次点击
    这是一个创建于 1941 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    苹果等推广邮件都在垃圾邮箱的 不管公司大小 除非自己邮箱服务如谷歌
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2671 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:02 · PVG 20:02 · LAX 04:02 · JFK 07:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.