1. 程式人生 > >使用php傳送電子郵件(phpmailer)

使用php傳送電子郵件(phpmailer)

在專案開發過程中,經常會用到通過程式傳送電子郵件,例如:註冊使用者通過郵件啟用,通過郵件找回密碼,發 送報表等。這裡介紹幾種通過PHP傳送電子郵件的方式(1)通過mail()函式傳送郵件(2)使用fsockopen方式連線smtp伺服器傳送(3) 使用phpmailer郵件類傳送。個人推薦使用phpmailer郵件類傳送,phpmailer比較方便使用且功能強大,接下來對這幾種方式分別做一 下介紹。

        (1)通過mail()函式傳送郵件
    PHP中的mail() 函式允許從指令碼中直接傳送電子郵件,格式:
    mail($to,$subject,$message,$headers,$parameters);
    to 必需。規定郵件的接收者。
    subject 必需。規定郵件的主題。該引數不能包含任何換行字元。
    message 必需。規定要傳送的訊息。
    headers 可選。規定額外的報頭,比如 From(發件人), Cc(抄送) 以及 Bcc(密送)。
    parameters 可選。規定 sendmail 程式的額外引數。

        需要特別mail()函式用法相當簡單,但並不我們使用mail()函式就可以直接傳送郵件了,需要我們做一些配置,在Windows與Linux系統上的配置方式有些不同。我們傳送郵件需郵件伺服器,如果是Linux伺服器需要在php.ini中的sendmail_path設定為伺服器的路徑,如果Linux在安裝時安裝了sendmail,可以這樣設定:
    sendmail_path = /usr/sbin/sendmail
如果安裝的是Qmail等其他Mail伺服器則填寫對應的路徑即可。
如果是Windwos作業系統則需要配置SMTP和smtp_port著兩個引數,例如:
    SMTP = localhost
    smtp_port = 25
如果將SMTP設定為localhost則本機必須安裝郵件伺服器才能正常發信,當然也可以設定其他郵件伺服器的域名或IP地址,還有一個可選引數是sendmail_from可以設定預設的發件人郵箱。看一下php.ini的配置項:

使用mail函式時php.ini的配置

(2)使用fsockopen方式連線smtp伺服器傳送

首先需要有一個smtp郵件伺服器,可以自己搭建也可以使用網易,新浪等免費的郵件伺服器,傳送的過程大致如下:

    1.建立TCP連線
    2.客戶端傳送HELO命令以標識發件人自己的身份,然後客戶端傳送MAIL命令,伺服器端正希望以OK作為響應,表明準備接收
    3.客戶端傳送RCPT命令,以標識該電子郵件的計劃接收人,可以有多個RCPT行,伺服器端則表示是否願意為收件人接受郵件
    4.協商結束,傳送郵件,用命令DATA傳送
    目前絕大多數的服務商都提供SMTP服務,如果我們要使用的MTA需要使用者認證(絕大多數的郵件服務商都需要認證)那就需要我們使用有效的使用者名稱密碼登 陸。以網易的163郵箱為例,首先註冊一個郵箱賬號比如:

[email protected],這裡我們使用一個寫好的email.class.php來實現與 SMTP伺服器實現通訊併發送郵件的功能,使用前需要在配置檔案config.php中配置一下各項引數,詳細說明可以參考附件中的示例程式碼。

(3)使用phpMailer郵件類傳送電子郵件(特別推薦)
     先來幾句廢話:
    phpMailer是一個非常強大的php傳送郵件類,可以設定傳送郵件地址、回覆地址、郵件主題、html網頁,上傳附件,並且使用起來非常方便。
     phpMailer的特點:
    1、在郵件中包含多個 TO、CC、BCC 和 REPLY-TO。
    2、平臺應用廣泛,支援的 SMTP 伺服器包括 Sendmail、qmail、Postfix、Gmail、Imail、Exchange 等等。
    3、支援嵌入影象,附件,HTML 郵件。
    4、可靠的強大的除錯功能。
    5、支援 SMTP 認證。
    6、自定義郵件頭。
    7、支援 8bit、base64、binary 和 quoted-printable 編碼。
    使用phpMailer傳送郵件需要class.phpmailer.php和class.smtp.php兩個檔案,比較簡單的程式碼片段:

相關推薦

使用php傳送電子郵件(phpmailer)

在專案開發過程中,經常會用到通過程式傳送電子郵件,例如:註冊使用者通過郵件啟用,通過郵件找回密碼,發 送報表等。這裡介紹幾種通過PHP傳送電子郵件的方式(1)通過mail()函式傳送郵件(2)使用fsockopen方式連線smtp伺服器傳送(3) 使用phpmailer郵件類傳送。個人推薦使用phpm

PHP 傳送電子郵件

PHP 傳送電子郵件 PHP 允許您從指令碼直接傳送電子郵件。 。。。。。。。。。。。。。 PHP mail() 函式 PHP mail() 函式用於從指令碼中傳送電子郵件。 語法:mail(to,subject,message,headers,parameters) to 必需。規定 email

PHP傳送電子郵件

今天學習了PHP的mail函式,並且利用它傳送傳送一些簡單點的郵件,下面 開始吧: 1、首先,應該配置自己的PHP檔案(也就是php.ini檔案)然後需要安裝sendmail 2、下載後將其解壓到任意一個目錄下面,我的是和php相關檔案放在一起了(自己建立一個資料夾sen

使用PHP,PHPMailer和GMail傳送電子郵件

[size=large][b]簡要介紹如何使用PHPMailer通過GMail的SMTP協議傳送郵件。[/b][/size][color=blue][size=large]下載PHPMailer[/size][/color]點選 [url=http://adf.ly/2960

使用PHP利用phpmailer傳送電子郵件

先來幾句廢話:     phpMailer是一個非常強大的php傳送郵件類,可以設定傳送郵件地址、回覆地址、郵件主題、html網頁,上傳附件,並且使用起來非常方便。      phpMailer的特點:     1、在郵件中包含多個 TO、CC、BCC 和 REPLY-TO

Android實現快速傳送電子郵件

最近有朋友有需求是通過apk傳送郵件,我心想這怎麼可以實現?然後就研究了一番,最後得出結論是可行的! 確實可以自己的手機上定義主題和內容或者附件,然後傳送給對應的郵箱!詳細步驟傾聽我一一道來 我們以A郵箱傳送郵件給B郵箱為例: 1 開啟A郵箱的POP3服務 每個郵箱都有POP3服

PHP傳送163郵件

郵件包下載地址: https://github.com/PHPMailer/PHPMailer 程式碼: // 引入PHPMailer的核心檔案 include "PHPMailer-master/src/PHPMailer.php"; include "PHPMailer-master/src/SMTP.p

呼叫Mailgun API傳送電子郵件一例

Mailgun提供了免費的郵件傳送服務,適合拿來做通知提醒一類的服務。免費版預設支援每天傳送多達300封郵件,最多可以發10,000封。 註冊方法:訪問 https://www.mailgun.com/email-api , 點Sign Up Free 輸入基本資訊,包括要接收郵

獲取郵箱驗證碼倒計時+PHP傳送QQ郵件(未全)

程式碼: <?php/*傳送郵件方法*@param $to:接收者 $title:標題 $content:郵件內容*@return bool true:傳送成功 false:傳送失敗*/function sendMail($to,$title,$content) { // 這個PHPMailer

net類庫中傳送電子郵件的方法總結

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

tp5傳送電子郵件

一、開啟郵箱的SMTP服務 QQ郵箱設定方式: 點選設定: 點選賬戶 在最下面,有個開啟 點開啟會彈出個窗,上面有密碼,記下密碼 163郵箱設定方式: 其他郵箱都一樣,獲取授權碼就行 二、下載類庫檔案 https://gi

使用Java傳送電子郵件

所需jar包 <dependency> <groupId>javax.mail</groupId> <artifactId>javax.mail-api</artifactId

.NET 傳送電子郵件

static void Main(string[] args) { ///先引入 using System.Net.Mail; ///傳送郵件 using (MailMessage mailMessage = ne

使用SMTP傳送電子郵件

描述SMTP的基本操作,有如下常見的情景。假如Alice想給Bob傳送一封簡單的ASCII報文: 1)Alice啟動她的郵件代理伺服器並提供Bob的郵件地址(例如:***@163.com),撰寫郵件,通過使用者代理髮送該郵件。 2)Alice的使用者代理把報文傳送給Ali

vb.net 傳送電子郵件方法 無需改動 直接Ctrl C V

Public Function Emilsend(ByVal arrp As Array) As Boolean Dim tConsultname As String = G_objService.SB_MyTrim(arrp(0)) Di

使用Python傳送電子郵件

SMTP傳送郵件: 我這裡使用的qq郵箱伺服器,所以執行之前應先把qq郵箱中的相應服務開啟; 1.傳送文字郵件 #傳送文字郵件 import smtplib from email.mime.text import MIMEText from email.header

Servlet 傳送電子郵件

Servlet 傳送電子郵件 使用 Servlet 傳送一封電子郵件是很簡單的,但首先您必須在您的計算機上安裝 JavaMail API 和 Java Activation Framework)JAF)。 您可以從 Java 標準網站下載最新版本

php判斷電子郵件是否正確方法

PHP判斷電子郵箱是否正確的簡單實現方法。 程式碼如下: <?php $email = "[email protected]"; if (filter_var($email, FILTER_VALIDATE_EMAIL)) { echo '"' . $email . '"

用flask開發個人部落格(24)—— flask中使用Flask_Mail傳送電子郵件

        flask中使用Flask-Mail提供對電子郵件的支援,下面將分步驟測試flask中傳送電子郵件的功能: 1 配置SMTP伺服器的資訊         我們需要藉助flask程式例項app的config屬性來配置電子郵件的SMTP伺服器資訊,其中主要的配置

如何用WinCC傳送電子郵件

  HwEMail是HwLib(慧蘭博)技術團隊開發的一款用於WinCC或者.Net的電子郵件控制元件。它可以嵌入到WinCC畫面中,通過簡單的設定即可將重要報警訊息或者事件傳送到指定的電子郵箱裡。HwEMail屬於HwLib訊息套件(目前包含微信、釘釘、MQTT、簡訊和電子郵件五種)中的一種。HwEMail