1. 程式人生 > >ThinkPHP 中使用 PHPMailer 傳送郵件(支援163、QQ郵箱,附下載)

ThinkPHP 中使用 PHPMailer 傳送郵件(支援163、QQ郵箱,附下載)

PHP是自帶可以傳送郵件的Mail()函式的,但需要在php.ini配置。本文將介紹一種簡單的通過PHPMailer傳送郵件的方法。

而PHPMailer是一個用於傳送電子郵件的PHP函式包,它可以使用SMTP的方法通過163、QQ郵箱等第三方伺服器傳送郵件。這樣還有一個好處,就是這些大型郵箱發出的郵件一般不會被遮蔽。

另外說明一下,ThinkPHP是一個開源的PHP框架,其詳細介紹:http://www.thinkphp.cn/。如果只是尋找PHP中傳送郵件的方法而誤入此地的同學請繼續Google百度~~

本文所使用的是ThinkPHP 2.1版和 PHPMailer 5.1版。(後者建議您直接從本博下載,因為我們不能保證下面的程式碼在所有版本的PHPMailer中都能正常執行)

下面是具體步驟:

第一步、新增PHPMailer類庫

點選此處下載

將下載後的檔案解壓,將PHPMail目錄移動至ThinkPHP目錄中的Vendor內。(請確保class.phpmailer.php檔案就在ThinkPHP\Vendor\PHPMailer\class.phpmailer.php)

第二步、添加發送郵件函式

在專案目錄中的Common資料夾中的common.php檔案(如果沒有請建立)新增如下程式碼:

<?php
/**********
 * 傳送郵件 *
 **********/
function SendMail($address,$title,$message)
{
    vendor('PHPMailer.class#PHPMailer');

    $mail
=new PHPMailer(); // 設定PHPMailer使用SMTP伺服器傳送Email $mail->IsSMTP(); // 設定郵件的字元編碼,若不指定,則為'UTF-8' $mail->CharSet='UTF-8'; // 新增收件人地址,可以多次使用來新增多個收件人 $mail->AddAddress($address); // 設定郵件正文 $mail->Body=$message; // 設定郵件頭的From欄位。 $mail->From=C('MAIL_ADDRESS'); //
設定發件人名字 $mail->FromName='LilyRecruit'; // 設定郵件標題 $mail->Subject=$title; // 設定SMTP伺服器。 $mail->Host=C('MAIL_SMTP'); // 設定為“需要驗證” $mail->SMTPAuth=true; // 設定使用者名稱和密碼。 $mail->Username=C('MAIL_LOGINNAME'); $mail->Password=C('MAIL_PASSWORD'); // 傳送郵件。 return($mail->Send()); } ?>


第三步、配置郵箱資訊

編輯Conf目錄下的config.php,在return array新增如下內容

    'MAIL_ADDRESS'=>'[email protected]', // 郵箱地址    'MAIL_SMTP'=>'smtp.126.com', // 郵箱SMTP伺服器    'MAIL_LOGINNAME'=>'xxx', // 郵箱登入帳號    'MAIL_PASSWORD'=>'xxx', // 郵箱密碼

其中的郵箱登入帳號可能需要包括@後面的內容,請自行嘗試^_^

第四步、在Action中傳送郵件

由於ThinkPHP會自動載入common.php中的函式,所以在需要傳送郵件的時候,只需要使用如下程式碼即可。

SendMail("[email protected]","郵件標題","郵件正文");

至此,本教程已經結束。撒花~~~

歡迎成功配置的同學SendMail("[email protected]","我也會用ThinkPHP傳送郵件啦","哇啦哇啦~~");

還有一些說明

如果郵件正文中需要換行怎麼辦呢?其實,最簡單的方法是——

SendMail("[email protected]","郵件標題","郵件正文
我換行啦~~!");

QQ郵箱(含foxmail)和網易的126、163都測試成功。因為近期訪問GMail比較吃力,所以沒有測試。聽說GMail要求必須使用SSL,有這方面需要的同學自行谷歌百度PHPMailer的方法。

最後,這是我第一次寫教程,希望同學們支援哦~!

相關推薦

ThinkPHP 使用 PHPMailer 傳送郵件支援163QQ郵箱下載

PHP是自帶可以傳送郵件的Mail()函式的,但需要在php.ini配置。本文將介紹一種簡單的通過PHPMailer傳送郵件的方法。 而PHPMailer是一個用於傳送電子郵件的PHP函式包,它可以使用SMTP的方法通過163、QQ郵箱等第三方伺服器傳送郵件。這樣還有一個好

C++函式引數傳遞值傳遞指標傳遞引用傳遞

今天想寫一個函式,從函式中把我需要的兩個值傳出來,由於傳出來的值比較多,所以不考慮用return來返回,需要通過引數把修改後的值拉出來供我使用,很當然的就想到了用指標,但是值就是傳不出來;使我對原有的大腦中指標的思維產生混沌感,今天一上午才把函式傳遞又走了

使用 Node.js 的 nodemailer 模組傳送郵件支援 QQ163支援附件

nodemailer 簡介 Nodemailer 是 Node.js 應用程式的一個模組,可以方便地傳送電子郵件。 該專案於 2010 年開始,至今已經相當穩定,這也是如今大多數 Node.js 使用者預設情況下發送郵件的解決方案。 使

android javamail傳送郵件zip壓縮包在qq郵箱不顯示字尾名問題

其實這就是zip包名中文亂碼, MimeBodyPart attachmentPart = new MimeBodyPart();           FileDataSource fds = new FileDat

CentOS 7 部署LVS集群DR模式NAT模式LVS+keepalived

楓雨1.簡介1.1LVS linux虛擬服務器,是一個虛擬的服務器集群系統,可以在Unix和linux平臺下實現負載均衡集群的功能。1.2LVS與nginx的對比 1)工作在網絡模型的7層,可以針對http應用做一些分流的策略,nginx單憑這點可利用的場合遠多於LVS。 2)最新版的nginx也支持4

CC2530 GPIO口程式設計2 上拉下拉三態

先介紹一下上拉、下拉:                                                                               上拉、下拉 I/O埠中,有的上下拉電阻可以設定,有的不可以設定,有的是內建,有的是需要外接,

教大家獲取百度雲盤真實下載連結告別雲盤客戶端全速下載

先把百度雲盤資源分享到自己的雲盤中,然後建立公開連結。2.瀏覽器開啟該網頁,以360瀏覽器為例,按F12進入開發者模式,找到Console(控制檯),複製以下程式碼到控制檯,然後回車!$.ajax({type: "POST",url: "/api/sharedownload?

python傳送郵件普通文字檔案附件圖片等

1、傳送普通文字檔案 #coding=utf-8 import smtplib from email.mime.text import MIMEText from email.header import Header host = 'smtp.126.com' # 設定

Python使用SMTP傳送郵件163yeah等網易郵箱已測試可以

#! /usr/bin/env python # -*- coding: UTF-8 -*- import smtplib from email.mime.text import MIMEText

Android+Jenkins自動化打包+上傳蒲公英+傳送郵件測試必會

Android+Jenkins自動化打包+上傳蒲公英+傳送郵件   各位好,由於經常要修改客戶端的伺服器地址和要區分渠道為了方便測試打包學習了一下Jenkins,期間遇到一些問題,反正就是問題比較多,網上也搜了很多東西但是比較散都講了一點,特地自己整理了一下 ,也將自己遇到的坑在這

linux 傳送郵件centos

1.安裝mailx 安裝mailx: yum install mailx vi /etc/mail.rc set [email protected] set smtp="smtps://smtp.qq.com:465" set smtp-auth-user=12345678

C# 傳送郵件帶附加件傳送

有時候不太適合寫這些東西:不太會描述,因為在開發過程中遇到了,所以記錄一下,以便後面看看。 由於開發一直用的VS2015或者VS2017,所以不知道其他的版本開發情況,其實差不多 這是下面的核心程式碼:簡單的傳送郵件(不發附件):去掉新增附近的程式碼即可 string user = "***@163.

python 傳送郵件文字表格附件

import pandas as pd import smtplib   from email.mime.text import MIMEText   from email.mime.multipart import MIMEMultipart filena

phpmailer傳送郵件和附件

ps:鄙視那些複製別人文章並美其名曰“原創”的狗,鄙視那些騙C幣下載垃圾資源的垃圾廢物。本人分享所有東西 download:https://github.com/PHPMailer/PHPMailer/releases 自己引用的時候要注意namespace  public f

傳送郵件多人

#SMTP:簡單郵件傳輸協議,屬於TCP/IP協議#smtplib模組,傳送郵件#email模組,負責構造郵件import smtplib #傳送郵件模組from email.mime.text import MIMEText #定義郵件內容from email.header import Header #

asp.net 郵件傳送提醒功能接收方包括QQ郵箱

 1、編寫一個通用的郵件傳送操作類:MailHelper.cs,程式碼如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.

python傳送郵件帶附件

python通過stmp傳送qq郵件,帶附件 import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.header import Head

利用JavaMail傳送郵件:smtp.163.com

一、利用JavaMail傳送郵件案例: 1、maven專案結構: 2、先在pom.xml裡邊加入Javamail依賴,系統會根據座標自動下載mail包(前提是配置好了maven): 3、配置email.properties屬性檔案,主要是為了不更改程式碼的前提下,該改變傳送郵件的一些基本資訊:

SprongBoot傳送郵件傳送HTML郵件

在“SprongBoot傳送郵件(一)傳送簡單文字郵件HelloWorld”的基礎上新增如下方法: /** * @param to 郵件收件人 * @param subject 郵件主題 * @param content 郵件

SprongBoot傳送郵件傳送帶圖片的郵件

/** * @param to * @param subject * @param content * @param rscPath 檔案路徑 * @param rscId */ public v