Heim  >  Artikel  >  Backend-Entwicklung  >  PHPMAILER implementiert die PHP-E-Mail-Funktion

PHPMAILER implementiert die PHP-E-Mail-Funktion

不言
不言Original
2018-04-18 14:52:592130Durchsuche

Dieser Artikel stellt hauptsächlich PHPMAILER zur Implementierung der PHP-E-Mail-Funktion vor Der spezifische Code der E-Mail-Funktion ist wie folgt:

Schritt 1:

Öffnen Sie die Website, um PHPMailer herunterzuladen, und melden Sie sich an Der QQ-Postfach-SMTP-Server ist über SSL verschlüsselt, 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-EinstellungenAlle 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 = &#39;<h1>Hello World</h1>&#39;;
// 为该邮件添加附件
$mail->addAttachment(&#39;./example.pdf&#39;);
// 发送邮件 返回状态
$status = $mail->send(); 

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=&#39;&#39;,$content=&#39;&#39;){
  vendor(&#39;phpmailer.PHPMailerAutoload&#39;);
//require_once &#39;vendor/phpmailer/PHPMailerAutoload.php&#39;;
  $mail = new PHPMailer;
  $arr = db(&#39;config&#39;)->where(&#39;inc_type&#39;,&#39;smtp&#39;)->select();
  $config = convert_arr_kv($arr,&#39;name&#39;,&#39;value&#39;);
  $mail->CharSet = &#39;UTF-8&#39;; //设定邮件编码,默认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 = &#39;html&#39;;
//smtp服务器
  $mail->Host = $config[&#39;smtp_server&#39;];
//端口 - likely to be 25, 465 or 587
  $mail->Port = $config[&#39;smtp_port&#39;];
 
 
 
  if($mail->Port === 465) $mail->SMTPSecure = &#39;ssl&#39;;// 使用安全协议
//Whether to use SMTP authentication
  $mail->SMTPAuth = true;
//发送邮箱
  $mail->Username = $config[&#39;smtp_user&#39;];
//密码
  $mail->Password = $config[&#39;smtp_pwd&#39;];
//Set who the message is to be sent from
  $mail->setFrom($config[&#39;smtp_user&#39;],$config[&#39;email_id&#39;]);
//回复地址
//$mail->addReplyTo(&#39;replyto@example.com&#39;, &#39;First Last&#39;);
//接收邮件方
  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 = &#39;This is a plain-text message body&#39;;
//添加附件
//$mail->addAttachment(&#39;images/phpmailer_mini.png&#39;);
//send the message, check for errors
  return $mail->send();
}

Verwandte Empfehlungen:


Teilen Sie, wie PHP PHPMailer zum Senden von E-Mails verwendet

Wie PHP PHPMailer zum Senden von E-Mails und Anhängen verwendet

PHPMailer implementiert die Funktion zum Senden von E-Mails über das QQ-Postfach


Das obige ist der detaillierte Inhalt vonPHPMAILER implementiert die PHP-E-Mail-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen 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