PHP基础-如何使用PHPMailer类完成邮件发送

首先,我们需要下载PHPMailer这个类,PHPMailer(https://github.com/PHPMailer/PHPMailer),然后解压文件后,复制src文件夹到自己的程序根目录。

需要将php.ini中的“;extension:php_openssl.dll”前的分号去掉,重启Apache系统,让其生效。不过我使用的php版本是7.0,好像已经自动开启了。

请不要随意修改src文件夹名称,程序容易出错。

<html>
<head>
    <title>虾米大王学习使用phpmailer类完成邮件发送</title>
    <style type="text/css">
        .tb_left
        {
            text-align: right;
        }

        .tb_right
        {
            text-align: left;
        }
    </style>
</head>

<body>
    <span>虾米大王使用SMTP发送电子邮件</span>
    <hr>
    <form id="form1" name="form1" method="post" action="">
        <table border="0" cellpadding="2" cellspacing="0">

            <tr>
                <td class="tb_left">收件人:</td>
                <td><input type="text" name="to" id="to"></td>
            </tr>
            <tr>
                <td class="tb_left">主题:</td>
                <td><input type="text" name="subject" id="subject"></td>
            </tr>
            <tr>
                <td class="tb_left">内容:</td>
                <td><textarea name="send_body" id="send_body" cols="45" rows="5"></textarea></td>
            </tr>
            <tr>
                <td class="tb_left">来自:</td>
                <td><input type="text" name="from" id="from"></td>
            </tr>
            <tr>
                <td>&nbsp;</td>
                <td><input type="submit" name="btn_sub" id="btn_sub" value="提交"></td>
            </tr>
        </table>
    </form>
</body>
</html>


<?php

if(@ isset($_POST['btn_sub']))
{
    require_once ("src/PHPMailer.php");  //必须引入此3个文件,否则出错
    require_once ('src/Exception.php');
    require_once ('src/SMTP.php');


    $from = $_POST['from'];
    $to = $_POST['to'];
    $subject = $_POST['subject'];
    $send_body = wordwrap($_POST['send_body'],70);
    $smtp = 'smtp.163.com';  //如果使用qq邮箱,请先去邮箱开启此功能
    $port = 465;  //一般端口都是465
    $user_name = '[email protected]';  //请替换为你的邮箱,注意需要去邮箱的设置开启smtp,我使用的163.com
    $password = 'password'; //请替换为你的邮箱密码

    $mail = new \PHPMailer\PHPMailer\PHPMailer();
    $mail->isSMTP();
    $mail->SMTPAuth = true;
    $mail->SMTPSecure = 'ssl';
    $mail->Host = $smtp;
    $mail->Port = $port;
    $mail->CharSet = 'utf-8';   //使用gb2312是,只能发送英文字母,发送中文是乱码
    $mail->Username = $user_name;
    $mail->Password = $password;
    $mail->From = $from;
    $mail->FromName = $from;
    $mail->Subject = $subject;
    $mail->Body = $send_body;
    $mail->isHTML(true);
    $mail->addAddress($to);

    if(!$mail->send())
    {
        echo "发送错误:".$mail->ErrorInfo."<br>";
    }
    else
    {
        echo "<div align='center'>虾米大王的邮件发送成功,请注意查收!</div>";
    }

    die();
}

?>

猜你喜欢

转载自blog.csdn.net/modern358/article/details/89634396
今日推荐