Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Plugin PHPMailer versendet E-Mails

PHP-Plugin PHPMailer versendet E-Mails

高洛峰
高洛峰Original
2017-03-01 16:22:551584Durchsuche

In diesem Artikel wird hauptsächlich die E-Mail-Versandfunktion von PHP im Detail vorgestellt. Ein PHPMailer-Plugin kann die E-Mail-Versandfunktion leicht implementieren, was einen gewissen Referenzwert hat.

Die Beispiele in Dieser Artikel hat den spezifischen Code zum Senden von E-Mails in ThinkPHP3.2.3 als Referenz bereitgestellt. Der spezifische Inhalt lautet wie folgt:

Erster Schritt: Laden Sie ein PHPMailer-Plug-in online herunter Sie müssen hier zwei davon verwenden, wie unten gezeigt:

PHP-Plugin PHPMailer versendet E-Mails

Platzieren Sie die beiden Dateien class.phpmailer.php bzw. class.smtp.php in
ThinkPHP /Library/Vendor/ PHPMailer/class.phpmailer.php (Groß-/Kleinschreibung beachten)
ThinkPHP/Library/Vendor/PHPMailer/class.smtp.php

PHP-Plugin PHPMailer versendet E-Mails

Hinweis: Die aktuelle Platzierung ist das Standardverzeichnis der Klassenbibliothek von thinkPHP, z. B. define('VENDOR_PATH',APP_PATH.'Common/Vendor/'); um die Situation zu vermeiden, dass die Klasse „PHPMailer“ nicht gefunden wurde.

2. Erstellen Sie eine benutzerdefinierte Funktionsdatei Application/Home/Common/function.php und platzieren Sie die folgenden Funktionen:

PHP-Plugin PHPMailer versendet E-Mails

/**
 * 功能:邮件发送函数
 * @param string $to 目标邮箱
 * @param string $subject 邮件主题(标题)
 * @param string $to 邮件内容
 * @return bool true
 */
 function sendMail($to, $subject, $content) {
 vendor('PHPMailer.class#smtp'); 
 vendor('PHPMailer.class#phpmailer'); //注意这里的大小写哦,不然会出现找不到类,PHPMailer是文件夹名字,class#phpmailer就代表class.phpmailer.php文件名
 $mail = new PHPMailer();
 // 装配邮件服务器
 if (C('MAIL_SMTP')) {
  $mail->IsSMTP();
 }
 $mail->Host = C('MAIL_HOST'); //这里的参数解释见下面的配置信息注释
 $mail->SMTPAuth = C('MAIL_SMTPAUTH'); 
 $mail->Username = C('MAIL_USERNAME');
 $mail->Password = C('MAIL_PASSWORD');
 $mail->SMTPSecure = C('MAIL_SECURE');
 $mail->CharSet = C('MAIL_CHARSET');
 // 装配邮件头信息
 $mail->From = C('MAIL_USERNAME');
 $mail->AddAddress($to);
 $mail->FromName = C('MAIL_FROMNAME');
 $mail->IsHTML(C('MAIL_ISHTML'));
 // 装配邮件正文信息
 $mail->Subject = $subject;
 $mail->Body = $content;
 // 发送邮件
 if (!$mail->Send()) {
  return FALSE;
 } else {
  return TRUE;
 }
 }

3. In der obigen Funktion wird die C-Methode verwendet, um einige Konfigurationsinformationen zu laden, daher müssen wir die folgenden Konfigurationsinformationen zur Konfigurationsdatei hinzufügen (default/Application/Home/Conf/ config.php):

<?php
 return array(
 //其他配置项省略......
 // 配置邮件发送服务器
 &#39;MAIL_SMTP&#39;   => TRUE,
 &#39;MAIL_HOST&#39;   => &#39;smtp.163.com&#39;,   //邮件发送SMTP服务器
 &#39;MAIL_SMTPAUTH&#39; => TRUE,
 &#39;MAIL_USERNAME&#39; => &#39;123***@163.com&#39;,  //SMTP服务器登陆用户名
 &#39;MAIL_PASSWORD&#39; => &#39;123456abc&#39;,    //SMTP服务器登陆密码
 &#39;MAIL_SECURE&#39;   => &#39;tls&#39;,
 &#39;MAIL_CHARSET&#39;  => &#39;utf-8&#39;,
 &#39;MAIL_ISHTML&#39;   => TRUE,
 &#39;MAIL_FROMNAME&#39; => &#39;某某网站客户&#39;,
 );

4. Vorausgesetzt, der Zugriff erfolgt über die URL /?m=home&c=index&a=send Gehen Sie zu Application/Home/Controller. Fügen Sie die Methode wie folgt zur Datei /IndexController.class.php hinzu:

<?php
 namespace Home\Controller;
 use Think\Controller;
 class IndexController extends Controller {
 public function index(){
  
 }
 public function send(){
  if(sendMail(&#39;vsiryxm@qq.com&#39;,&#39;你好!邮件标题&#39;,&#39;这是一篇测试邮件正文!&#39;)){
   echo &#39;发送成功!&#39;;
  }
  else{
   echo &#39;发送失败!&#39;;
  }
 }
 }

Das Obige ist der gesamte Inhalt von Ich hoffe, dass dieser Artikel für alle hilfreich sein wird. Ich hoffe auch, dass jeder die chinesische PHP-Website unterstützt.

Weitere Artikel zum Versenden von E-Mails mit dem PHP-Plug-in PHPMailer finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
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