ThinkPHP-Beispiel für die Verwendung von PHPMailer zum Versenden von E-Mails

韦小宝
Freigeben: 2023-03-17 16:36:01
Original
2198 Leute haben es durchsucht

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    = &#39;尊敬的先生/女士:<br/>非常抱歉,您接受到这封邮件是因您的好友邀请您加入我们的CRM系统体验当中,请点击以下链接注册账户<a href=####>######</a><br/>如您没有相关意向,请忽略&#39;;
if(!$mail->send()) {
echo &#39;邮件发送失败.&#39;;
echo &#39;错误信息: &#39; . $mail->ErrorInfo;
} else {
echo &#39;邮件发送成功&#39;;
}
}
Nach dem Login kopieren
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.

<br/>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
Nach dem Login kopieren

Der zweite Schritt besteht darin, eine neue common.php-Datei im zu erstellen ThinkPHP Common-Datei und schreiben Sie den folgenden Code:

<br/>
Nach dem Login kopieren

<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(
//&#39;配置项&#39;=>&#39;配置值&#39;
&#39;MAIL_ADDRESS&#39;=>&#39;799783009@qq.com&#39;, // 邮箱地址
&#39;MAIL_LOGINNAME&#39;=>&#39;799783009@qq.com&#39;, // 邮箱登录帐号
&#39;MAIL_SMTP&#39;=>&#39;smtp.qq.com&#39;, // 邮箱SMTP服务器
&#39;MAIL_PASSWORD&#39;=>&#39;******&#39;, // 邮箱密码
&#39;SHOW_PAGE_TRACE&#39;=>true,
);
Nach dem Login kopieren

Der vierte Schritt bleibt übrig. Schreiben Sie in ThinkPHP den folgenden Code in die Datei IndexAction.class.php:

// 本类由系统自动生成,仅供测试用途
classIndexAction extendsAction {
publicfunctionindex(){
if(!empty($_POST[&#39;title&#39;]) && !empty($_POST[&#39;content&#39;])){
if(SendMail("597417106@qq.com",$_POST[&#39;tile&#39;],$_POST[&#39;content&#39;]))
echo&#39;发送成功!&#39;;
else
echo&#39;发送失败&#39;;
}
$this->assign(&#39;title&#39;,&#39;测试标题&#39;);
$this->display();
}
}
Nach dem Login kopieren
Okay, so einfach ist das

<br/>

Methode 2 gilt als Standardmethode. Das Ganze wird in die Thinkphp-Klasse eingefügt. Der Herausgeber empfiehlt die Verwendung der zweiten Lösung.

PHP verwendet die SMTP-Klasse, um auf einfache Weise E-Mails zu versenden.

Wenn Sie immer noch damit zu kämpfen haben, dass die in PHP integrierte Funktion mail() keine E-Mails senden kann, dann haben Sie jetzt Glück Der Artikel ist hier. Kann Ihnen helfen!

PHP verwendet die SMTP-Klasse zum Versenden von E-Mails, was sich wirklich bewährt hat. Ich verwende sie schon seit langem und im Grunde gab es keine Probleme. Wenn der Blogger im Hintergrund dieses Blogs auf eine Nachricht antwortet, wird automatisch eine E-Mail mit einer neuen Antwortaufforderung an den Internetnutzer gesendet, was auch mit der in diesem Artikel beschriebenen Methode implementiert wird.

Die Methode zum Senden von E-Mails mithilfe der SMTP-Klasse ist tatsächlich sehr einfach und stabil. Die Klasse wurde von anderen geschrieben und muss nur aufgerufen werden. Sie können E-Mails mit nur wenigen einfachen Konfigurationen versenden. Freuen Sie sich darauf, es auszuprobieren?

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[&#39;toemail&#39;];//发送给谁
$smtpuser = "new2008oh";//SMTP服务器的用户帐号
$smtppass = "您的邮箱密码";//SMTP服务器的用户密码
$mailtitle = $_POST[&#39;title&#39;];//邮件主题
$mailcontent = "<h1>".$_POST[&#39;content&#39;]."</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=&#39;width:300px; margin:36px auto;&#39;>";
if($state==""){
echo "对不起,邮件发送失败!请检查邮箱填写是否有误。";
echo "<a href=&#39;index.html&#39;>点此返回</a>";
exit();
}
echo "恭喜!邮件发送成功!!";
echo "<a href=&#39;index.html&#39;>点此返回</a>";
echo "</div>";
?>
Nach dem Login kopieren
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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage