Heim >Backend-Entwicklung >PHP-Tutorial >ThinkPHP-Beispiel für die Verwendung von PHPMailer zum Versenden von E-Mails
Ich glaube, viele Schüler haben thinkphp verwendet, und das thinkphp-Framework selbst verfügt auch über eine Klassenbibliothek. In diesem Artikel werden wir darüber sprechen, wie man externen PHPMailer mit thinkphp Klassenbibliothek.
Methode 1:
1. Laden Sie PHPmailer herunter und extrahieren Sie es in den ThinkPHP\Extend\Vendor-Ordner
2. Verwenden Sie die mit ThinkPHP gelieferte Vendor-Methode, um die Klassenbibliothek eines Drittanbieters zu laden
3. Konfigurieren Sie relevante Parameter.
4. Erstellen Sie zum bequemen Aufrufen eine Funktion zum Senden von E-Mails in common.php. Anschließend können Sie diese Funktion zum Senden von E-Mails aufrufen
/** * 邮件发送 */ function sendMail(){ // 载入邮件发送类库 Vendor('PHPMailer.PHPMailerAutoload'); $mail = new PHPMailer; $mail->isSMTP(); //设置PHPMailer使用SMTP服务器发送Email $mail->Host = 'smtp.163.com'; //指定SMTP服务器 可以是smtp.126.com, gmail, qq等服务器 自行查询 $mail->SMTPAuth = true; $mail->CharSet='UTF-8'; //设置字符集 防止乱码 $mail->Username = 'username@163.com'; //发送人的邮箱账户 $mail->Password = 'xxxxxxxxxx'; //发送人的邮箱密码 $mail->Port = 25; //SMTP服务器端口 $mail->From = 'user@admin.com'; //发件人邮箱地址 $mail->FromName = '在路上'; //发件人名称 $mail->addAddress('guest@test.com'); // 收件人邮箱地址 此处可以发送多个 $mail->WordWrap = 50; // 换行字符数 $mail->isHTML(true); // 设置邮件格式为HTML $mail->Subject = '青岛XXX'; //邮件标题 $mail->Body = '尊敬的先生/女士:<br/>非常抱歉,您接受到这封邮件是因您的好友邀请您加入我们的CRM系统体验当中,请点击以下链接注册账户<a href=####>######</a><br/>如您没有相关意向,请忽略'; if(!$mail->send()) { echo '邮件发送失败.'; echo '错误信息: ' . $mail->ErrorInfo; } else { echo '邮件发送成功'; } }Nach der Definition Wenn Sie mit der Funktion E-Mails senden möchten, rufen Sie direkt sendMail(); auf, um den Sendeinhalt, den Sendetitel und die Empfänger als Variablen festzulegen, zum Beispiel: sendMail($body, $title, $recipient) Der Empfänger kann in Form eines Arrays vorliegen, die Funktion durchlaufen und fertig!! Einige Konfigurationen des SMTP-Servers und des Absenders können in die Datei Conf\config.php geschrieben und direkt von C aufgerufen werden ()-Methode.
Methode 2:
Der erste Schritt besteht darin, das komprimierte Paket PHPMailer.class.php herunterzuladen (es gibt einen Anhang). (Download über diesem Artikel)
Nach der Dekomprimierung werden die folgenden drei Dateien angezeigt:1.class.pop3.php 2.class.smtp.php 3.PHPMailer.class.php PHPMailer.class.php这个文件就是核心的文件,把这个文件放到ThinkPHP的扩展包下路径如\下:ThinkPHP\Extend\Library
Der zweite Schritt besteht darin, eine neue common.php-Datei im zu erstellen ThinkPHP Common-Datei und schreiben Sie den folgenden Code:
<br/>
Der dritte Schritt besteht darin, den folgenden Code in ThinkPHP zu schreiben, die Datei conf.php :
Hinweis: Das Folgende ist der Test meines eigenen QQ-Postfachs. Die Postfachparameter sind unterschiedlich und das spezifische Postfach muss Vorrang haben. Der Stmp des QQ-Postfachs muss von Ihnen selbst geöffnet werden Briefkasten.returnarray( //'配置项'=>'配置值' 'MAIL_ADDRESS'=>'799783009@qq.com', // 邮箱地址 'MAIL_LOGINNAME'=>'799783009@qq.com', // 邮箱登录帐号 'MAIL_SMTP'=>'smtp.qq.com', // 邮箱SMTP服务器 'MAIL_PASSWORD'=>'******', // 邮箱密码 'SHOW_PAGE_TRACE'=>true, );
Der vierte Schritt bleibt übrig. Schreiben Sie in ThinkPHP den folgenden Code in die Datei IndexAction.class.php:
// 本类由系统自动生成,仅供测试用途 classIndexAction extendsAction { publicfunctionindex(){ if(!empty($_POST['title']) && !empty($_POST['content'])){ if(SendMail("597417106@qq.com",$_POST['tile'],$_POST['content'])) echo'发送成功!'; else echo'发送失败'; } $this->assign('title','测试标题'); $this->display(); } }Okay, so einfach ist das
Das Folgende ist der Kerncode:
<?php require_once "email.class.php"; //******************** 配置信息 ******************************** $smtpserver = "smtp.126.com";//SMTP服务器 $smtpserverport =25;//SMTP服务器端口 $smtpusermail = "new2008oh@126.com";//SMTP服务器的用户邮箱 $smtpemailto = $_POST['toemail'];//发送给谁 $smtpuser = "new2008oh";//SMTP服务器的用户帐号 $smtppass = "您的邮箱密码";//SMTP服务器的用户密码 $mailtitle = $_POST['title'];//邮件主题 $mailcontent = "<h1>".$_POST['content']."</h1>";//邮件内容 $mailtype = "HTML";//邮件格式(HTML/TXT),TXT为文本邮件 //************************ 配置信息 **************************** $smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证. $smtp->debug = false;//是否显示发送的调试信息 $state = $smtp->sendmail($smtpemailto, $smtpusermail, $mailtitle, $mailcontent, $mailtype); echo "<div style='width:300px; margin:36px auto;'>"; if($state==""){ echo "对不起,邮件发送失败!请检查邮箱填写是否有误。"; echo "<a href='index.html'>点此返回</a>"; exit(); } echo "恭喜!邮件发送成功!!"; echo "<a href='index.html'>点此返回</a>"; echo "</div>"; ?>Das Obige sind zwei Beispiele dafür, wie ThinkPHP
PHPMailer zum Senden von E-Mails verwendet , bitte durchsuchen Sie die chinesische PHP-Website~
Verwandte Empfehlungen:
Lernen Sie, wie Sie mit thinkphp Kurzfassungen erstellen Links
Wie thinkphp native SQL-Anweisungen ausführt
Fünf Möglichkeiten, die Datenbank in thinkphp zu aktualisieren.
Codebeispiel zur Implementierung einer auf mehrere Tabellen bezogenen Abfrage in thinkphp
Das obige ist der detaillierte Inhalt vonThinkPHP-Beispiel für die Verwendung von PHPMailer zum Versenden von E-Mails. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!