Maison  >  Article  >  développement back-end  >  thinkphp implémente la méthode d'envoi et de réception d'e-mails dans les boîtes mail 163 et QQ

thinkphp implémente la méthode d'envoi et de réception d'e-mails dans les boîtes mail 163 et QQ

不言
不言original
2018-06-06 14:00:303489parcourir

Cet article présente principalement la méthode de thinkphp pour réaliser l'envoi et la réception d'e-mails dans des boîtes aux lettres telles que 163. Elle a été testée sur la boîte aux lettres 163 NetEase et est spécialement partagée avec tout le monde

Cela a pris beaucoup de temps. explorez étape par étape, et enfin j'ai d'abord 163 Le test sur la boîte aux lettres NetEase a réussi. Je partagerai le processus avec tout le monde ci-dessous.

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

1. Préparation préliminaire

Pour utiliser la boîte aux lettres NetEase, vous devez bien sûr créer un compte. Je n'ai pas besoin d'en dire plus, il suffit de créer un compte. enregistrez-le vous-même. . .

Après votre 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).

Première étape :

Deuxième étape :


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


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 bien sûr également le définir à l'avance. .


2. Partie code

Téléchargement de PHPMailer (après le téléchargement, placez PHPMailer dans le répertoire Vendor et un autre fichier là-bas. il y a beaucoup de choses inutiles, prenez-en soin vous-même)

Les étudiants prudents peuvent vérifier le numéro de port par défaut dans les trois fichiers class.phpmailer.php class.pop3.php class.smtp.php La valeur par défaut. Le numéro de port SMTP est 25, ce qui est le même que le numéro de port de protocole non SSL du serveur d'envoi SMTP sous 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>
configuration config.php :

&#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格式邮件
fonction publique function.php :

/*
 * 发送邮件
 * @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 envoyez un e-mail à la boîte aux lettres 163 (NetEase) via le formulaire (par exemple : envoyer à 123456@163.com), ou vous pouvez envoyer à vous-même, envoyez-le. Après cela, vous verrez que l'envoi a réussi. Ensuite, vous pouvez vous connecter à votre boîte aux lettres pour consulter vos e-mails.

Boîte aux lettres QQ envoyant et recevant du courrier

Boîte aux lettres QQ envoyant et recevant l'adresse et le port du serveur de messagerie


Préparation :

1. Définissez un mot de passe indépendant pour votre adresse e-mail
2. Activez le service POP3/SMTP

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, complétez. Après cela, vous pouvez non seulement envoyer des e-mails aux utilisateurs de la boîte aux lettres QQ, mais également envoyer des e-mails à 163 utilisateurs de la boîte aux lettres.

Ce qui précède explique comment thinkphp implémente l'envoi et la réception d'e-mails vers 163 et d'autres boîtes aux lettres. J'espère que cela sera utile à l'apprentissage de chacun.

Recommandations associées :

Tutoriel d'exemple d'opération ThinkPHP Basic Ajouter, Supprimer, Vérifier et Modifier

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn