Maison  >  Article  >  cadre php  >  Comment le framework TP implémente-t-il l'envoi et la réception d'e-mails 163 ou QQ ?

Comment le framework TP implémente-t-il l'envoi et la réception d'e-mails 163 ou QQ ?

藏色散人
藏色散人avant
2021-12-08 15:00:353060parcourir

La colonne suivante du didacticiel thinkphpframework vous présentera comment thinkphp implémente la boîte aux lettres 163 et QQ pour envoyer et recevoir des e-mails. J'espère que cela sera utile aux amis dans le besoin !

Il a fallu beaucoup de temps pour explorer étape par étape, et finalement le test a réussi sur la boîte aux lettres 163 NetEase. Je partagerai le processus avec tout le monde ci-dessous.

Avant d'entrer dans le sujet, jetons un coup d'œil à l'adresse du serveur et au numéro de port de la boîte aux lettres NetEase (163) :

1. Préparation précoce

Pour utiliser la boîte aux lettres NetEase, de bien sûr, vous devez créer un compte. Je n’ai pas besoin d’en dire plus, inscrivez-vous simplement. . .

Après l'inscription, vous devez activer le service POP3/SMTP/IMAP. Lors de l'ouverture du service, un mot de passe d'autorisation client est requis (une vérification du téléphone portable est requise ici, et MD demande un numéro de téléphone portable de manière détournée).

Étape 1 :

Étape 2 :


Après confirmation, la boîte de dialogue suivante apparaîtra et le mot de passe d'autorisation sera envoyé à votre message texte. N'oubliez pas Assurez-vous de vous souvenir de ce mot de passe d'autorisation


Une fois le service activé, si [nom] n'est pas défini, vous serez invité à définir [nom] avant d'envoyer l'e-mail lors de la rédaction d'un e-mail. vous pouvez également le définir à l'avance. .


2. Partie code

Téléchargement PHPMailer (après le téléchargement, mettez PHPMailer dans le répertoire Vendor. De plus, il y a beaucoup de choses inutiles dans le fichier, veuillez vous en occuper vous-même)

Étudiants prudents sont dans la classe .phpmailer.php class.pop3.php class.smtp.php Jetez un œil aux numéros de port par défaut dans ces trois fichiers. Le numéro de port par défaut pour SMTP est 25, ce qui est le même que le port du protocole non SSL. numéro du serveur d'envoi SMTP inférieur à 163.

mise en page HTML :

<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>
<body>
 <form action="__URL__/add" method="post" enctype="multipart/form-data">
 收件人邮箱:<input type="text" name="mail"/>
 标题:<input type="text" name="title"/>
 内容<input type="text" name="content"/>
 <input class="button" type="submit" value="发送"/>
 </form>
</body>
</html>

config.php configuration :

&#39;MAIL_HOST&#39; =>&#39;smtp.163.com&#39;,//smtp服务器的名称
&#39;MAIL_SMTPAUTH&#39; =>TRUE, //启用smtp认证
&#39;MAIL_USERNAME&#39; =>&#39;zha****22@163.com&#39;,//发件人的邮箱名
&#39;MAIL_PASSWORD&#39; =>&#39;olagbqsyeyhilcwu&#39;,//163邮箱发件人授权密码
&#39;MAIL_FROM&#39; =>&#39;zha****22@163.com&#39;,//发件人邮箱地址
&#39;MAIL_FROMNAME&#39;=>&#39;天空还下着雪&#39;,//发件人姓名
&#39;MAIL_CHARSET&#39; =>&#39;utf-8&#39;,//设置邮件编码
&#39;MAIL_ISHTML&#39; =>TRUE, // 是否HTML格式邮件

function.php fonction publique :

/*
 * 发送邮件
 * @param $to string
 * @param $title string
 * @param $content string
 * @return bool
 * */
function sendMail($to, $title, $content) {
 Vendor(&#39;PHPMailer.PHPMailerAutoload&#39;);
 $mail = new PHPMailer(); //实例化
 $mail->IsSMTP(); // 启用SMTP
 $mail->Host=C(&#39;MAIL_HOST&#39;); //smtp服务器的名称(这里以QQ邮箱为例)
 $mail->SMTPAuth = C(&#39;MAIL_SMTPAUTH&#39;); //启用smtp认证
 $mail->Username = C(&#39;MAIL_USERNAME&#39;); //发件人邮箱名
 $mail->Password = C(&#39;MAIL_PASSWORD&#39;) ; //163邮箱发件人授权密码
 $mail->From = C(&#39;MAIL_FROM&#39;); //发件人地址(也就是你的邮箱地址)
 $mail->FromName = C(&#39;MAIL_FROMNAME&#39;); //发件人姓名
 $mail->AddAddress($to,"尊敬的客户");
 $mail->WordWrap = 50; //设置每行字符长度
 $mail->IsHTML(C(&#39;MAIL_ISHTML&#39;)); // 是否HTML格式邮件
 $mail->CharSet=C(&#39;MAIL_CHARSET&#39;); //设置邮件编码
 $mail->Subject =$title; //邮件主题
 $mail->Body = $content; //邮件内容
 $mail->AltBody = "这是一个纯文本的身体在非营利的HTML电子邮件客户端"; //邮件正文不支持HTML的备用显示
 return($mail->Send());
}

ajouter un appel de méthode :

public function add() {
 if(SendMail($_POST[&#39;mail&#39;],$_POST[&#39;title&#39;],$_POST[&#39;content&#39;])) {
 $this->success(&#39;发送成功!&#39;);
 } else {
 $this->error(&#39;发送失败&#39;);
 }
}

Après avoir terminé le travail ci-dessus, accédez ensuite à l'adresse et soumettez le formulaire au 163 (NetEase ) Envoyez un e-mail par e-mail (par exemple : à 123456@163.com), ou vous pouvez vous l'envoyer. Après l'envoi, vous verrez que l'e-mail a été envoyé avec succès. Ensuite, vous pouvez vous connecter à votre boîte aux lettres pour consulter vos e-mails.

La boîte aux lettres QQ envoie et reçoit des mails

La boîte aux lettres QQ envoie et reçoit l'adresse et le port du serveur de courrier

Préparation :
1. Définir un mot de passe de boîte aux lettres indépendant
2.

Configuration :

&#39;MAIL_HOST&#39; =>&#39;smtp.qq.com&#39;,//smtp服务器的名称
&#39;MAIL_SMTPAUTH&#39; =>TRUE, //启用smtp认证
&#39;MAIL_USERNAME&#39; =>&#39;541****34@qq.com&#39;,//发件人邮箱名
&#39;MAIL_PASSWORD&#39; =>&#39;s****1241&#39;,//qq邮箱发件人独立密码
&#39;MAIL_FROM&#39; =>&#39;541****34@qq.com&#39;,//发件人地址
&#39;MAIL_FROMNAME&#39;=>&#39;恋狱&#39;,//发件人姓名(qq邮箱昵称)
&#39;MAIL_CHARSET&#39; =>&#39;utf-8&#39;,//设置邮件编码
&#39;MAIL_ISHTML&#39; =>TRUE, // 是否HTML格式邮件
Aucune autre modification n'est requise. Une fois terminé, vous pouvez non seulement envoyer des e-mails aux utilisateurs de la boîte aux lettres QQ, mais également à 163 utilisateurs de la boîte aux lettres.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer