PHPMailer verwendet PHP zum Versenden von Fallanalyse-E-Mails

php中世界最好的语言
Freigeben: 2023-03-26 06:40:02
Original
1836 Leute haben es durchsucht

Dieses Mal werde ich Ihnen eine Fallanalyse der Verwendung von PHP zum Senden von E-Mails vorstellen. Was sind die Vorsichtsmaßnahmen für die Verwendung von PHP zum Senden von E-Mails? .

Schritt eins: Öffnen Sie die Website, um PHPMailer herunterzuladen. PHPMailer erfordert die Unterstützung der Sockets-Erweiterung von PHP, und die Anmeldung beim QQ-Mailbox-SMTP-Server muss SSL-verschlüsselt sein, und PHP muss auch OpenSSL-Unterstützung enthalten .

Schritt 2: Verwenden Sie die Funktion phpinfo(), um die Socket- und OpenSSL-Erweiterungsinformationen anzuzeigen (der Wamp-Server aktiviert diese Erweiterung standardmäßig).

Wenn openssl nicht aktiviert ist, öffnen Sie bitte die Datei php.ini, um sie zu aktivieren.

Überprüfen Sie zunächst, ob die Datei extension=php_openssl.dll in php.ini vorhanden ist Kommentarzeichen ';' , Wenn diese Zeile nicht existiert, fügen Sie extension=php_openssl.dll hinzu.

PHPMailer-Kerndatei

Schritt 3: QQ-E-Mail-Einstellungen

Alle gängigen Postfächer unterstützen das SMTP-Protokoll, aber nicht alle Postfächer sind standardmäßig aktiviert. Sie können es manuell in den Postfacheinstellungen aktivieren.

Nach der Bereitstellung des Kontos und des Passworts kann sich der Drittanbieterdienst beim SMTP-Server anmelden und diesen zur Steuerung der E-Mail-Übertragungsmethode verwenden.

Schritt 4: SMTP-Dienst aktivieren

Wählen Sie den IMAP/SMTP-Dienst aus und klicken Sie, um den Dienst zu aktivieren

Schritt 5: Passwort bestätigen

SMS „E-Mail-Client konfigurieren“ an 1069-0700-69 senden

Schritt 6: Holen Sie sich den Autorisierungscode

SMTP-Server-Authentifizierungspasswort, das ordnungsgemäß aufbewahrt werden muss (PS: Das Passwort enthält keine Leerzeichen)

Schritt 7: PHP sendet E-Mail

Basiscode

Der folgende Code demonstriert die Verwendung von PHPMailer. Achten Sie auf den Konfigurationsprozess der PHPMailer-Instanz.

// 引入PHPMailer的核心文件
require_once("PHPMailer/class.phpmailer.php");
require_once("PHPMailer/class.smtp.php");
 
// 实例化PHPMailer核心类
$mail = new PHPMailer();
// 是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式
$mail->SMTPDebug = 1;
// 使用smtp鉴权方式发送邮件
$mail->isSMTP();
// smtp需要鉴权 这个必须是true
$mail->SMTPAuth = true;
// 链接qq域名邮箱的服务器地址
$mail->Host = 'smtp.qq.com';
// 设置使用ssl加密方式登录鉴权
$mail->SMTPSecure = 'ssl';
// 设置ssl连接smtp服务器的远程服务器端口号
$mail->Port = 465;
// 设置发送的邮件的编码
$mail->CharSet = 'UTF-8';
// 设置发件人昵称 显示在收件人邮件的发件人邮箱地址前的发件人姓名
$mail->FromName = '发件人昵称';
// smtp登录的账号 QQ邮箱即可
$mail->Username = '12345678@qq.com';
// smtp登录的密码 使用生成的授权码
$mail->Password = '**********';
// 设置发件人邮箱地址 同登录账号
$mail->From = '12345678@qq.com';
// 邮件正文是否为html编码 注意此处是一个方法
$mail->isHTML(true);
// 设置收件人邮箱地址
$mail->addAddress('87654321@qq.com');
// 添加多个收件人 则多次调用方法即可
$mail->addAddress('87654321@163.com');
// 添加该邮件的主题
$mail->Subject = '邮件主题';
// 添加邮件正文
$mail->Body = '<h1>Hello World</h1>';
// 为该邮件添加附件
$mail->addAttachment('./example.pdf');
// 发送邮件 返回状态
$status = $mail->send(); 
Nach dem Login kopieren
Ich verwende den Code in thinkphp5.0

/**
* 邮件发送
* @param $to 接收人
* @param string $subject 邮件标题
* @param string $content 邮件内容(html模板渲染后的内容)
* @throws Exception
* @throws phpmailerException
*/
function send_email($to,$subject='',$content=''){
  vendor('phpmailer.PHPMailerAutoload');
//require_once 'vendor/phpmailer/PHPMailerAutoload.php';
  $mail = new PHPMailer;
  $arr = db('config')->where('inc_type','smtp')->select();
  $config = convert_arr_kv($arr,'name','value');
  $mail->CharSet = 'UTF-8'; //设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
  $mail->isSMTP();
//Enable SMTP debugging
// 0 = off (for production use)
// 1 = client messages
// 2 = client and server messages
  $mail->SMTPDebug = 0;
//调试输出格式
//$mail->Debugoutput = 'html';
//smtp服务器
  $mail->Host = $config['smtp_server'];
//端口 - likely to be 25, 465 or 587
  $mail->Port = $config['smtp_port'];
  if($mail->Port === 465) $mail->SMTPSecure = 'ssl';// 使用安全协议
//Whether to use SMTP authentication
  $mail->SMTPAuth = true;
//发送邮箱
  $mail->Username = $config['smtp_user'];
//密码
  $mail->Password = $config['smtp_pwd'];
//Set who the message is to be sent from
  $mail->setFrom($config['smtp_user'],$config['email_id']);
//回复地址
//$mail->addReplyTo('replyto@example.com', 'First Last');
//接收邮件方
  if(is_array($to)){
    foreach ($to as $v){
      $mail->addAddress($v);
    }
  }else{
    $mail->addAddress($to);
  }
  $mail->isHTML(true);// send as HTML
//标题
  $mail->Subject = $subject;
//HTML内容转换
  $mail->msgHTML($content);
//Replace the plain text body with one created manually
//$mail->AltBody = 'This is a plain-text message body';
//添加附件
//$mail->addAttachment('images/phpmailer_mini.png');
//send the message, check for errors
  return $mail->send();
}
Nach dem Login kopieren
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln die chinesische PHP-Website!

Empfohlene Lektüre:

Detaillierte Erläuterung der Verwendung von PHP Bubble Sort

Detaillierte Erläuterung der Schritte zur Implementierung der Binärbaumtiefe und Breiten-First-Traversal-Algorithmus in PHP

Das obige ist der detaillierte Inhalt vonPHPMailer verwendet PHP zum Versenden von Fallanalyse-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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!