ホームページ  >  記事  >  バックエンド開発  >  phpはphpmailerを使用して電子メールを送信します

phpはphpmailerを使用して電子メールを送信します

WBOY
WBOYオリジナル
2016-06-20 12:54:21841ブラウズ

電子メールを送信

1. セキュリティを確保するために、電子メールに送信される URL を生成する必要があります (キー (キーは実行されるたびにランダムなコードを自動的に生成する必要があります)。 ) を入力し、URL をメールボックスに送信します。

2. URL を解析します。まず、ユーザー名に基づいてデータベースからキーと有効期限を見つけます。キーがない場合は、リクエストが偽造されているか期限切れであることを意味します。有効期限を確認し、すべてが確認されたら、パスワードを変更できます。データベース内のレコードを削除します。

注: ただし、データベースではなく redis を使用しました。リンクでは一意のコードのみが使用され、ユーザーの GUID は一意のコードに基づいて redis から取得され、3600 秒後に接続が失敗します。 (redis自体が処理します)。

$client = redis();

$client->setex($linkkey, 7200, $userInfo['guid']);

に開かれますサーバーの 25 ポートに接続しないと、電子メールを送信できません。

 /**     * 发送邮件方法     *      * @param string $from 来自     * @param string $to 收件人地址     * @param string $subject  邮件标题     * @param string $body 邮件正文     */    public function postmail($from,$to,$subject = '',$body = ''){        error_reporting(E_ALL);        date_default_timezone_set('Asia/Shanghai');//设定时区东八区        vendor('PHPMailer.class#phpmailer');        vendor('PHPMailer.class#smtp');        $mail             = new \PHPMailer();      //new一个PHPMailer对象出来        $body            = eregi_replace("[\]",'',$body); //对邮件内容进行必要的过滤        $mail->CharSet ="UTF-8";                   //设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码        $mail->IsSMTP();                           // 设定使用SMTP服务        $mail->Host       = 'smtp.ym.163.com';        // SMTP 服务器//         $mail->SMTPDebug  = 1;                     // 启用SMTP调试 1 = errors  2 =  messages        $mail->SMTPAuth   = true;                  // 服务器需要验证        $mail->Port       = 25;                    // SMTP服务器的端口号        265/255  25                $mail->Username   = '用户名';   // SMTP服务器用户名        $mail->Password   = '密码';           // SMTP服务器密码        $mail->isHTML(true);        $mail->SetFrom('邮箱地址', $from);        $mail->Subject    = $subject;        $mail->MsgHTML($body);        $address = $to;        $mail->AddAddress($address, '');        //         $mail->AddEmbeddedImage("Public/bee/common/images/logo3.jpg", "logoimg","logo.jpg"); //设置邮件中的图片//         $mail->AddAttachment("Public/bee/common/images/logo3.jpg"); // attachment 附件        if(!$mail->Send()) {            echo 'Mailer Error: ' . $mail->ErrorInfo;        } else {            echo "Message sent!恭喜,邮件发送成功!";        }    }


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHPのトリック次の記事:PHPのトリック