Heim >PHP-Framework >Denken Sie an PHP >Detaillierte Erläuterung, wie das ThinkPHP-Framework die E-Mail-Aktivierungsfunktion implementiert
Die folgende Tutorial-Kolumne des thinkphp-Frameworks wird Ihnen vorstellen, wie das ThinkPHP-Framework die E-Mail-Aktivierungsfunktion implementiert. Ich hoffe, dass es für Freunde in Not hilfreich sein wird!
Die Details sind wie folgt:
Das Konfigurationsframework verwendet das ThinkPHP3.1-Framework, wie unten gezeigt:
Konfigurationsprozessdiagramm:
1 Ändern Sie die Konfiguration wie folgt:
<?php return array( //'配置项'=>'配置值' 'MAIL_ADDRESS'=>'shcg666@sohu.com', // 邮箱地址 'MAIL_SMTP'=>'smtp.sohu.com', // 邮箱SMTP服务器 'MAIL_LOGINNAME'=>'shcg666@sohu.com', // 邮箱登录帐号 'MAIL_PASSWORD'=>'******', // 邮箱密码 );
2. Fügen Sie die Funktion A-Klasse hinzu
<?php class EmailAction extends Action{ /* * microtime() 函数返回当前 Unix 时间戳和微秒数。 * mt_srand() 播种 Mersenne Twister 随机数生成器。从 PHP 4.2.0 版开始,seed 参数变为可选项,当该项为空时,会被设为随时数。 * 注释:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现已自动完成。 * pow — 指数表达式 */ //random()这个函数是我用来生成一个随机数的,$numeric = 0生成一个6位的大小写字母与数字混合的字符串。$numeric = 1生成一个6位数字的字符串 public function random($length = 6 , $numeric = 0) { PHP_VERSION < '4.2.0' && mt_srand((double)microtime() * 1000000); if($numeric) { $hash = sprintf('%0'.$length.'d', mt_rand(0, pow(10, $length) - 1)); } else { $hash = ''; $chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789abcdefghjkmnpqrstuvwxyz'; $max = strlen($chars) - 1; for($i = 0; $i < $length; $i++) { $hash .= $chars[mt_rand(0, $max)]; } } return $hash; } //发送邮件的方法 public function index(){ //生成6位激活码 $random = $this->random(6,0); //获取本网站的域名,域名在config里面配置下. //例如'domain' => 'http://write.blog.csdn.net', $domain = C('domain'); //生成激活码模块地址 $url = $domain.U("Home/Email/activate")."/?yam=$random"; //将邮件地址和随机数放入session session("shcg666@sohu.com","$random"); //发送邮件 SendMail("shcg666@sohu.com","这是邮件标题","将此网址复制到浏览框$url"); } } function SendMail($address,$title,$message){ //引入文件 vendor('PHPMailer.class#PHPMailer'); require("phpmailer/class.phpmailer.php"); require("phpmailer/class.smtp.php"); //实例化邮件类 $mail=new PHPMailer(); // 设置PHPMailer使用SMTP服务器发送Email $mail->IsSMTP(); // 设置邮件的字符编码,若不指定,则为'UTF-8' $mail->CharSet='UTF-8'; // 添加收件人地址,可以多次使用来添加多个收件人 $mail->AddAddress($address); // 设置邮件正文 $mail->Body=$message; // 设置邮件头的From字段。//发件人 $mail->From=C('MAIL_ADDRESS'); // 设置发件人名字 $mail->FromName='LilyRecruit'; // 设置邮件标题 $mail->Subject=$title; // 设置SMTP服务器。 $mail->Host=C('MAIL_SMTP'); // 设置为"需要验证" $mail->SMTPAuth=true; // 设置用户名和密码。 $mail->Username=C('MAIL_LOGINNAME'); $mail->Password=C('MAIL_PASSWORD'); // 发送邮件。 return($mail->Send()); }
3. Importierte Dateien
Laden Sie das PHPMailer-Paket aus dem Internet herunter und kopieren Sie class.smtp.php und class.phpmailer.php direkt ohne Änderungen.
Klicken Sie auf den Link , um die Datei class.smtp.php herunterzuladen (https://share.weiyun.com/6ECQn7Mq).
Für den vollständigen Beispielcode der Datei class.phpmailer.php klicken Sie auf den Link zum Herunterladen (https://share.weiyun.com/beakkcPt).
Die Konfiguration ist abgeschlossen, die spezifische Verarbeitungsmethode erfordert weitere Änderungen.
4. Gemeinsame Mailserver-Adressen (Empfangsserver und Sende-Mailserver)
Tencent QQ-Postfach
Empfangsserver: pop.qq.com
Sendeserver: smtp.qq.com
NetEase 126-Postfach
Empfangsserver: pop3.126.com
Sendeserver: smtp.126.com
NetEase 163 kostenlose E-Mail
Empfangsserver: pop.163.com
Sendeserver: smtp.163.com
NetEase 163VIP-Postfach
Empfangsserver: pop.vip .163.com
Sendeserver: smtp.vip.163.com
NetEase 188 Fortune Mail
Empfangsserver: pop.188.com
Sendeserver: smtp.188.com
NetEase yeah.net-Postfach
Empfangsserver: pop.yeah.net
Sendeserver: smtp.yeah.net
Netease netease.com E-Mail
Empfangsserver: pop.netease.com
Sendeserver: smtp.netease.com
Sina bezahlte E-Mail
Empfangsserver: pop3. vip.sina.com
Sendeserver: smtp.vip.sina.com
Sina kostenloses Postfach
Empfangsserver: pop3.sina.com.cn
Sendeserver: smtp.sina.com.cn
Sohu-Postfach
Empfangsserver :pop3.sohu.com
Sendeserver: smtp.sohu.com
21cn Pleasure Mail
Empfangsserver: vip.21cn.com
Sendeserver: vip.21cn.com
21cn Economic Mail
Empfangsserver: pop.163 .com
Sendeserver: smtp.163.com
tom email
Empfangsserver: pop.tom.com
Sendeserver: smtp.tom.com
263 E-Mail
Empfangsserver: 263.net
Sendeserver: smtp. 263.net
NetEase 163.com-Postfach
Empfangsserver: rwypop.china.com
Sendeserver: rwypop.china.com
Yahoo-Postfach
Empfangsserver: pop.mail.yahoo.com
Sendeserver: smtp.mail .yahoo.com
Gmail-Postfach
Empfangsserver: pop.gmail.com
Sendeserver: smtp.gmail.com
Verwandte Empfehlungen:Die neuesten 10 Thinkphp-Video-Tutorials
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung, wie das ThinkPHP-Framework die E-Mail-Aktivierungsfunktion implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!