Heim > Backend-Entwicklung > PHP-Tutorial > Senden Sie E-Mails in ThinkPHP5 mit PHPMailer

Senden Sie E-Mails in ThinkPHP5 mit PHPMailer

coldplay.xixi
Freigeben: 2023-04-08 19:14:02
nach vorne
3917 Leute haben es durchsucht

Senden Sie E-Mails in ThinkPHP5 mit PHPMailer

ThinkPHP5 verwendet PHPMailer zum Senden von E-Mails

phpMailer ist eine sehr leistungsstarke PHP-E-Mail-Klasse, die die E-Mail-Adresse zum Senden und die Antwortadresse (E-Mail) festlegen kann Betreff, HTML-Webseite, Hochladen von Anhängen, und es ist sehr bequem zu verwenden.

Funktionen von phpMailer:

1. Enthält mehrere TO, CC, BCC und REPLY-TO in der E-Mail.

2. Die Plattform ist weit verbreitet und zu den unterstützten SMTP-Servern gehören Sendmail, qmail, Postfix, Gmail, Imail, Exchange usw.

3. Unterstützen Sie eingebettete Bilder, Anhänge und HTML-E-Mails.

4. Zuverlässige und leistungsstarke Debugging-Funktion.

5. Unterstützt die SMTP-Authentifizierung.

6. Passen Sie den E-Mail-Header an.

7. Unterstützt 8-Bit-, Base64-, Binär- und Quoted-Printable-Kodierung.

So installieren oder laden Sie phpMailer herunter:

1. Von Github herunterladen: https://github.com/PHPMailer/PHPMailer/

2. Verwenden Sie Composer zum Installieren von:

composer require phpmailer/phpmailer
Nach dem Login kopieren

oder

"phpmailer/phpmailer": "~6.0"
Nach dem Login kopieren

. Sie benötigen einen eigenen Mailserver Vor dem Senden ist es tatsächlich am bequemsten, das von Ihnen beantragte kostenlose Postfach zu verwenden. Möglicherweise müssen Sie den SMTP-Dienst des Postfachs konfigurieren usw.) sind aus Sicherheitsgründen standardmäßig geschlossen.

Die Konfiguration des NetEase-Postfachs ist wie folgt:

Senden Sie E-Mails in ThinkPHP5 mit PHPMailer

Die Konfiguration des QQ-Postfachs ist wie folgt unten gezeigt:

Mailbox

邮箱POP3服务器(端口995)smtp服务器(端口465或587)
qq.com
pop.qq.comsmtp.qq.com
POP3-Server (Port 995)

SMTP-Server (Port 465 oder 587)

qq.com

pop.qq.comsmtp.qq.com< /td>< /tr>

Natürlich sind neben NetEase- und QQ-Postfächern auch andere Postfächer möglich

Nachdem Sie den obigen Composer-Befehl ausgeführt haben, wird es eines geben ein weiteres Verzeichnis im /vendor-Verzeichnis unter dem Stammverzeichnis des phpmailer-Ordners

php-Codebeispiel:

<?php
namespace app\api\controller;
use think\Controller;
 
use think\Cache;
use think\Db;
 
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
 
class Test extends Controller
{
 
    public function email(){
        $mail = new PHPMailer(true);                              // Passing `true` enables exceptions 
        try { 
            //服务器配置 
            $mail->CharSet ="UTF-8";                     //设定邮件编码 
            $mail->SMTPDebug = 0;                        // 调试模式输出 
            $mail->isSMTP();                             // 使用SMTP 
            $mail->Host = &#39;smtp.163.com&#39;;                // SMTP服务器 
            $mail->SMTPAuth = true;                      // 允许 SMTP 认证 
            $mail->Username = &#39;liqingbo27@163.com&#39;;      // SMTP 用户名  即邮箱的用户名 
            $mail->Password = &#39;&#39;;                        // SMTP 密码  部分邮箱是授权码(例如163邮箱,不明白看下面有说明) 
            $mail->SMTPSecure = &#39;ssl&#39;;                   // 允许 TLS 或者ssl协议 
            $mail->Port = 465;                           // 服务器端口 25 或者465 具体要看邮箱服务器支持 
 
            $mail->setFrom(&#39;liqingbo27@163.com&#39;, &#39;Mailer&#39;);  //发件人 
            $mail->addAddress(&#39;252588119@qq.com&#39;, &#39;Joe&#39;);  // 收件人 
            //$mail->addAddress(&#39;ellen@example.com&#39;);  // 可添加多个收件人 
            $mail->addReplyTo(&#39;liqingbo27@163.com&#39;, &#39;info&#39;); //回复的时候回复给哪个邮箱 建议和发件人一致 
            //$mail->addCC(&#39;cc@example.com&#39;);                    //抄送 
            //$mail->addBCC(&#39;bcc@example.com&#39;);                    //密送 
 
            //发送附件 
            // $mail->addAttachment(&#39;../xy.zip&#39;);         // 添加附件 
            // $mail->addAttachment(&#39;../thumb-1.jpg&#39;, &#39;new.jpg&#39;);    // 发送附件并且重命名 
 
            //Content 
            $mail->isHTML(true);                                  // 是否以HTML文档格式发送  发送后客户端可直接显示对应HTML内容 
            $mail->Subject = &#39;这里是邮件标题&#39; . time(); 
            $mail->Body    = &#39;<h1>这里是邮件内容</h1>&#39; . date(&#39;Y-m-d H:i:s&#39;); 
            $mail->AltBody = &#39;如果邮件客户端不支持HTML则显示此内容&#39;; 
 
            $mail->send(); 
            echo &#39;邮件发送成功&#39;; 
        } catch (Exception $e) { 
            echo &#39;邮件发送失败: &#39;, $mail->ErrorInfo; 
        }
    }
}
Nach dem Login kopieren

Direktzugriffslink: https://www.liqingbo.cn/api/test/email

Unter normalen Umständen wird Folgendes ausgegeben: Die E-Mail wurde erfolgreich gesendet Senden Sie E-Mails in ThinkPHP5 mit PHPMailer

Der Empfängereffekt ist wie unten dargestellt

Senden Sie E-Mails in ThinkPHP5 mit PHPMailer


163 Autorisierungscode festlegen

Senden Sie E-Mails in ThinkPHP5 mit PHPMailer

Einstellungen->Client-Autorisierungspasswort->Autorisierungscode

Empfohlenes Tutorial: „PHP-Video-Tutorial"

Das obige ist der detaillierte Inhalt vonSenden Sie E-Mails in ThinkPHP5 mit PHPMailer. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:liqingbo.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