PHP发送邮件代码和注意事项

这篇博客介绍了如何配置QQ邮箱以启用SMTP服务,并获取授权码,以便在PHP开发中实现邮件发送功能。提供了PHP发送邮件的代码示例,并针对遇到的SMTP连接失败问题提出了解决方案,即在php.ini文件中取消extension=php_openssl.dll的注释。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

发送方以QQ邮箱为例:

第一步:点击设置,并选择账户

第二步:然后在帐户下,找到如下所示的开启服务部分

第三步:开启服务中,前两个选项均可实现邮件发送服务。点击开启,会出现验证提示。确认验证,成功开启POP3/SMTP服务后,就会出现以下授权码。那么此授权码就可以用于PHP实现邮件发送的开发方法中。注: 每次开启生成的授权码都会不同,安全性较高。

实现发送邮件的php代码如下:

<?php
require_once 'Email/sendMail/PHPMailer.class.php';
    require_once 'Email/sendMail/SMTP.class.php';

    function sendMain($to,$title,$content){
        $mail = new PHPMailer;
        $mail->SMTPDebug = false;
        //使用smtp鉴权方式发送邮件
        $mail->isSMTP();                                      
        $mail->CharSet = 'utf-8';
        $mail->Host = "smtp.exmail.qq.com";                   
        // $mail->SMTPSecure = 'ssl';
        //smtp需要鉴权 这个必须是true
        $mail->SMTPAuth = true;                               
        // qq 邮箱的 smtp服务器地址,这里当然也可以写其他的 smtp服务器地址
        $mail->Host = 'smtp.qq.com';
        //smtp登录的账号 这里填入字符串格式的qq号即可
        $mail->Username = '791481386@qq.com';                      
        // 这个就是之前得到的授权码,一共16位
        $mail->Password = 'yenfwvwjpmugbbef';                   
        // $mail->Port = 465;                                   

        $mail->setFrom('791481386@qq.com');
        // $to 为收件人的邮箱地址,是一维数组,遍历发送
        foreach($to as $v){
            $mail->addAddress($v);
        }
        
        // 该邮件的主题
        $mail->Subject = $title;
        // 该邮件的正文内容
        $mail->Body = $content;

        // 使用 send() 方法发送邮件
        if(!$mail->send()) {
            return '发送失败: ' . $mail->ErrorInfo;
        } else {
            return "发送成功";
        }
    }
    
    $emails = ['18310122739@163.com','dcyd521@sina.com'];
    $res = sendMain($emails,"dajiahao","试试试试");
    echo $res;

引入文件下载:https://download.youkuaiyun.com/download/shenlichuang/12465971

如果出现:SMTP connect failed

解决方法:找到php.ini文件并打开,将extension=php_openssl.dll这个句代码前的“;”去掉。(这个方法我没试,仅做记录)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值