PHP-Mail-Versandfunktion – Detaillierte Einführung in den ThinkPHP3.2.3-Code

黄舟
Freigeben: 2023-03-06 11:14:01
Original
2124 Leute haben es durchsucht

Erster Schritt: Laden Sie ein PHPMailer-Plugin online herunter, Plug-in-Adresse „//m.sbmmt.com/“. Nach dem Herunterladen und Dekomprimieren müssen wir hier nur zwei der Dateien verwenden, wie in der Abbildung gezeigt Abbildung unten:

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

Hinweis: Jetzt wird das Standardverzeichnis der Drittanbieter-Klassenbibliothek von thinkPHP platziert, wenn es in index.php definiert ist, z. B. define('VENDOR_PATH',APP_PATH.'Common/Vendor/'); dann muss der Dateiplatzierungspfad derselbe sein Dies soll verhindern, dass die Klasse „PHPMailer“ nicht gefunden wird.

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

1 /**
 2  * 功能:邮件发送函数
 3  * @param string $to 目标邮箱
 4  * @param string $subject 邮件主题(标题)
 5  * @param string $to 邮件内容
 6  * @return bool true
 7  */
 8  function sendMail($to, $subject, $content) {
 9     vendor('PHPMailer.class#smtp'); 
10     vendor('PHPMailer.class#phpmailer');    //注意这里的大小写哦,不然会出现找不到类,PHPMailer是文件夹名字,class#phpmailer就代表class.phpmailer.php文件名
11     $mail = new PHPMailer();
12     // 装配邮件服务器
13     if (C('MAIL_SMTP')) {
14         $mail->IsSMTP();
15     }
16     $mail->Host = C('MAIL_HOST');  //这里的参数解释见下面的配置信息注释
17     $mail->SMTPAuth = C('MAIL_SMTPAUTH');  
18     $mail->Username = C('MAIL_USERNAME');
19     $mail->Password = C('MAIL_PASSWORD');
20     $mail->SMTPSecure = C('MAIL_SECURE');
21     $mail->CharSet = C('MAIL_CHARSET');
22     // 装配邮件头信息
23     $mail->From = C('MAIL_USERNAME');
24     $mail->AddAddress($to);
25     $mail->FromName = C('MAIL_FROMNAME');
26     $mail->IsHTML(C('MAIL_ISHTML'));
27     // 装配邮件正文信息
28     $mail->Subject = $subject;
29     $mail->Body = $content;
30     // 发送邮件
31     if (!$mail->Send()) {
32         return FALSE;
33     } else {
34         return TRUE;
35     }
36  }
Nach dem Login kopieren


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

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

4. Starten Sie den Aufruf, vorausgesetzt, der Zugriff erfolgt über die URL /?m=home&c=index&a=send, dann fügen wir ihn zur Anwendung/Home/Controller hinzu /IndexController.class.php-Datei entsprechend Die Methode lautet wie folgt:

1 <?php
 2  namespace Home\Controller;
 3  use Think\Controller;
 4  class IndexController extends Controller {
 5     public function index(){
 6         
 7     }
 8     public function send(){
 9         if(sendMail(&#39;vsiryxm@qq.com&#39;,&#39;你好!邮件标题&#39;,&#39;这是一篇测试邮件正文!&#39;)){
10             echo &#39;发送成功!&#39;;
11         }
12         else{
13             echo &#39;发送失败!&#39;;
14         }
15     }
16  }
Nach dem Login kopieren

Das Obige ist die detaillierte Einführung des PHP-E-Mail-Sendefunktion-ThinkPHP3.2.3-Codes. Weitere verwandte Inhalte finden Sie hier die chinesische PHP-Website (m.sbmmt.com)!


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