當前位置: 首頁>>編程語言>>正文


PHP安全發送郵件:PHPMailer

要使用PHP安全地發送郵件可以使用PHPMailer,說明如下:

PHP 本身提供了一個mail()函數,看起來簡單易用。 不幸的是,與 PHP 中的很多東西一樣,它的簡單性隻是個幻象,事實上使用不當它可能有嚴重的安全問題。

Email 是一組網絡協議,比 PHP 的曆史還曲折。完全可以說發送郵件中的陷阱與 PHPmail()函數一樣多,這個可能會令你有點「不寒而栗」吧。

PHPMailer 是一個流行而成熟的開源庫,為安全地發送郵件提供一個易用的接口。 它關注和解決可能的陷阱,這樣你可以專注於更重要的事情。

示例PHP代碼如下,經 PHPMailer 5.1 測試

<?php
// Include the PHPMailer library
require_once('phpmailer-5.1/class.phpmailer.php');

// Passing 'true' enables exceptions.  This is optional and defaults to false.
$mailer = new PHPMailer(true);

// Send a mail from Bilbo Baggins to Gandalf the Grey

// Set up to, from, and the message body.  The body doesn't have to be HTML;
// check the PHPMailer documentation for details.
$mailer->Sender = 'bbaggins@example.com';
$mailer->AddReplyTo('bbaggins@example.com', 'Bilbo Baggins');
$mailer->SetFrom('bbaggins@example.com', 'Bilbo Baggins');
$mailer->AddAddress('gandalf@example.com');
$mailer->Subject = 'The finest weed in the South Farthing';
$mailer->MsgHTML('<p>You really must try it, Gandalf!</p><p>-Bilbo</p>');

// Set up our connection information.
$mailer->IsSMTP();
$mailer->SMTPAuth = true;
$mailer->SMTPSecure = 'ssl';
$mailer->Port = 465;
$mailer->Host = 'my smpt host';
$mailer->Username = 'my smtp username';
$mailer->Password = 'my smtp password';

// All done!
$mailer->Send();
?>

PHPMailer的特性

  • 要用PHP發送郵件,PHPMailer應該是時間上最受歡迎的代碼庫。
  • PHPMailer在許多著名的開源項目想使用,如:WordPress, Drupal, 1CRM, SugarCRM, Yii, Joomla!
  • 集成SMTP支持,不需要本地服務器即可發送。
  • 支持使用多個TOs, CCs, BCCs and REPLY-TOs進行發送。
  • 多種郵件形式,支持不能讀取HTML的郵件客戶端。
  • 支持的編碼:UTF-8 content and 8bit, base64, binary, and quoted-printable。
  • 支持使用LOGIN, PLAIN, NTLM, CRAM-MD5 and Google’s XOAUTH2 mechanisms over SSL and TLS transports進行SMTP身份認證。
  • 支持47中語言顯示錯誤消息。
  • 支持DKIM and S/MIME signing。
  • 兼容PHP5.0及之後的版本。
    還有很多其他特性,這裏不意義列出了,詳見:PHPMailer
本文由《純淨天空》出品。文章地址: https://vimsky.com/zh-tw/article/2367.html,未經允許,請勿轉載。