其實PHP郵箱發送功能並非每個項目都一定用得到,但其實每個完整的項目,一般都會包含一個PHP郵箱發送功能。
一般郵箱發送功能普遍用於註冊激活,密碼找回,以及留言回復等等功能上。而且這也是很多人頭痛的問題,畢竟這個功能並非是幾行程式碼就能實現的,而且也不是你用時間和精力去就能寫出來的。而這個功能其實已經是一個成品,現在需要的是讓我們如何去使用它,那麼下面我們就來講解一下如何利用PHPMailer類別庫實現PHP郵箱發送功能。
首先,我們來說一下,如何使用自己的網域作為發送郵件的郵件地址的方法如何實現呢?
🀎㟎
支援SMTP驗證🀜抄送、暗送僅win平台下smtp方式支援 支援多種郵件編碼包括:8bit,base64,binary和quoted-printable 支援冗餘SMTP伺服器,即可以指定主smtp伺服器位址也只可以指定備份smtp伺服器 支援帶附件的郵件,可以為郵件添加任意格式的附件---當然得你的伺服器有足夠大的頻寬支撐 自訂郵件頭訊息,這跟php中透過header函數發送頭資訊類似 支援將郵件正文製作成HTMl內容,那麼就可以在郵件正文中插入圖片 靈活的debug支援 經測試相容的SMTPmail 如何下載PHPMailer程式碼套件?
PHPMailer專案位址:https://github.com/PHPMailer/PHPMailer 使用git指令複製到本地,或直接在該專案頁面的右下方點擊「 Download ZIP」即可取得到完整的PHPMailer程式碼包。
====
第一部分:開通qq郵箱下的「網域郵箱」
〜 〕操作部分。
進入QQ郵箱,點擊頁面左上方“設定”,再點擊“郵箱設定”下的“帳戶”選項卡,拖曳滾動條,即可看到“域名郵箱”,點擊“管理域名郵箱” 」即可進入網域名稱信箱新增的頁面;或直接點擊http://domain.mail.qq.com/
點擊「建立網域信箱」,按頁面提示新增自己的網域並驗證。 PS:若您的qq郵箱下成功添加了“域名郵箱”,那麼進入qq郵箱後,頁面左上方“設置”按鈕之後會有“域名郵箱”的文字為該域名郵箱添加自己專屬的郵件地址,點擊審核通過的“域名郵箱”中的“成員管理”,點擊“添加成員”,輸入自己的域名下心儀的郵箱名,然後添加qq號(該qq號即作為該新添加的郵箱的使用者,該qq號需開通qq郵箱且未關閉數字帳號)
剛剛輸入的那個qq號的qq郵箱會收到一封開通域名郵箱的通知郵件,在郵件中點擊“接受這個郵箱帳號”,利用PHPMailer寄件郵件的寄件者信箱位址即設定完成,為了方便敘述這個郵件地址稱為「寄件者信箱」。
為了該qq號的登錄密碼安全,請為該qq好設置“獨立密碼”,在qq郵箱“設置”-“帳戶”-“帳戶安全”進行設置,在該處設置的密碼,為了便於本文敘述,稱之為「獨立密碼」。
至此qq郵箱下的「網域郵箱」開通並新增了待會使用PHPMailer發送作為寄件者的郵箱地址。這裡列出幾個關鍵的待會PHPMailer需要使用的資訊:QQ號,上述第三步驟新增的qq號碼、「獨立密碼」、「寄件者信箱」、寄件者姓名...
第二部分:使用PHPMailer編寫發送郵箱的代碼
PHPMailer需PHP的socket擴展支持,而PHPMailerqq郵箱時需要開網加密方式(qq郵箱並不再定義新網域名稱,新網域。允許通過smtp協議的25端口的普通鏈接方式鏈接,只允許ssl的465或587端口[我的一個域名郵箱內測期開通的域名郵箱目前25端口還是可以鏈接的,可能是安全策略,限制了新開域名信箱帳戶的25埠]),固php還得openssl的支持,可以查看phpinfo,以下兩項均存在則可以使用,其中openssl版本號之類不用管;許多虛擬主機中的php是不支援openssl擴展的,那你可能就悲劇了。
這裡需要注意了,在這之前,我們必須要在php環境下開啟openssl
這部分僅作代碼示例,代碼中有部分註釋,做磚玉玉玉。
下載下來的PHPMailer解壓縮後進行瘦身,只需要class.phpmailer.php、class.pop3.php、class.smtp.php以及PHPMailerAutoload.php四個文件,language文件夾要不要,那個可不要,那個可不要主要用於debug調試時的顯示資訊。看下class.phpmailer.php的檔案大小,110kb多,挺嚇人的。
<?php //引入PHPMailer的核心文件 使用require_once包含避免出现PHPMailer类重复定义的警告 require_once("phpmailer/class.phpmailer.php"); //示例化PHPMailer核心类 $mail = new PHPMailer(); //是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式 $mail->SMTPDebug = 1; //使用smtp鉴权方式发送邮件,当然你可以选择pop方式 sendmail方式等 本文不做详解 //可以参考http://phpmailer.github.io/PHPMailer/当中的详细介绍 $mail->isSMTP(); //smtp需要鉴权 这个必须是true $mail->SMTPAuth=true; //链接qq域名邮箱的服务器地址 $mail->Host = 'smtp.qq.com'; //设置使用ssl加密方式登录鉴权 $mail->SMTPSecure = 'ssl'; //设置ssl连接smtp服务器的远程服务器端口号 可选465或587 $mail->Port = 465; //设置smtp的helo消息头 这个可有可无 内容任意 $mail->Helo = 'Hello smtp.qq.com Server'; //设置发件人的主机域 可有可无 默认为localhost 内容任意,建议使用你的域名 $mail->Hostname = 'jjonline.cn'; //设置发送的邮件的编码 可选GB2312 我喜欢utf-8 据说utf8在某些客户端收信下会乱码 $mail->CharSet = 'UTF-8'; //设置发件人姓名(昵称) 任意内容,显示在收件人邮件的发件人邮箱地址前的发件人姓名 $mail->FromName = '晶晶在线'; //smtp登录的账号 这里填入字符串格式的qq号即可 $mail->Username ='888888'; //smtp登录的密码 这里填入“独立密码” 若为设置“独立密码”则填入登录qq的密码 建议设置“独立密码” $mail->Password = 'xxxxxxx'; //设置发件人邮箱地址 这里填入上述提到的“发件人邮箱” $mail->From = 'register@jjonline.cn'; //邮件正文是否为html编码 注意此处是一个方法 不再是属性 true或false $mail->isHTML(true); //设置收件人邮箱地址 该方法有两个参数 第一个参数为收件人邮箱地址 第二参数为给该地址设置的昵称 不同的邮箱系统会自动进行处理变动 //这里第二个参数的意义不大 $mail->addAddress('xxx@qq.com','晶晶在线用户'); //添加多个收件人 则多次调用方法即可 $mail->addAddress('xxx@163.com','晶晶在线用户'); //添加该邮件的主题 $mail->Subject = 'PHPMailer发送邮件的示例'; //添加邮件正文 上方将isHTML设置成了true,则可以是完整的html字符串 //如:使用file_get_contents函数读取本地的html文件 $mail->Body = "这是一个PHPMailer发送邮件的一个测试用例"; //为该邮件添加附件 该方法也有两个参数 第一个参数为附件存放的目录(相对目录、或绝对目录均可) 第二参数为在邮件附件中该附件的名称 $mail->addAttachment('./d.jpg','mm.jpg'); //同样该方法可以多次调用 上传多个附件 $mail->addAttachment('./Jlib-1.1.0.js','Jlib.js'); //发送命令 返回布尔值 //PS:经过测试,要是收件人不存在,若不出现错误依然返回true 也就是说在发送之前 自己需要些方法实现检测该邮箱是否真实有效 $status = $mail->send(); //简单的判断与提示信息 if($status) { echo '发送邮件成功'; }else{ echo '发送邮件失败,错误信息未:'.$mail->ErrorInfo; } ?>
特別提示:上述程式碼段僅作參考,若要整合到網站系統中,則可以將程式碼段封裝成函數或類別庫進行呼叫;另外PHPMailer在win32平台下是支援新增副本、暗送的。因為鄙伺服器用的centos,未作測試。

長URL(通常用關鍵字和跟踪參數都混亂)可以阻止訪問者。 URL縮短腳本提供了解決方案,創建了簡潔的鏈接,非常適合社交媒體和其他平台。 這些腳本對於單個網站很有價值

在Facebook在2012年通過Facebook備受矚目的收購之後,Instagram採用了兩套API供第三方使用。這些是Instagram Graph API和Instagram Basic Display API。作為開發人員建立一個需要信息的應用程序

Laravel使用其直觀的閃存方法簡化了處理臨時會話數據。這非常適合在您的應用程序中顯示簡短的消息,警報或通知。 默認情況下,數據僅針對後續請求: $請求 -

這是有關用Laravel後端構建React應用程序的系列的第二個也是最後一部分。在該系列的第一部分中,我們使用Laravel為基本的產品上市應用程序創建了一個RESTFUL API。在本教程中,我們將成為開發人員

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显著减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

PHP客戶端URL(curl)擴展是開發人員的強大工具,可以與遠程服務器和REST API無縫交互。通過利用Libcurl(備受尊敬的多協議文件傳輸庫),PHP curl促進了有效的執行

您是否想為客戶最緊迫的問題提供實時的即時解決方案? 實時聊天使您可以與客戶進行實時對話,並立即解決他們的問題。它允許您為您的自定義提供更快的服務

2025年的PHP景觀調查調查了當前的PHP發展趨勢。 它探討了框架用法,部署方法和挑戰,旨在為開發人員和企業提供見解。 該調查預計現代PHP Versio的增長


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Dreamweaver Mac版
視覺化網頁開發工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。