本文目錄一覽:
- 1、php如何發送郵件
- 2、PHP使用郵箱發送郵件(phpmailer/phpmailer)
- 3、怎麼利用php發送郵件求詳細教程
- 4、用PHP怎麼實現發郵件的功能了,是不是要在服務器上,裝上發郵件的軟件,然後用PHP函數實現發送了?
php如何發送郵件
php發送郵件,php發送電子郵件,使用php發送郵件,php如何發送郵件
方法/步驟
1
在實際項目開發中,我們經常需要得到用戶的反饋信息並及時回復。普通的留言板有一定的內容限制,而郵件則能滿足這個需求。今天給大家演示一下怎麼利用PHP發送電子郵件。
2
1.首先我們需要一個用來發送電子郵件的文件的程序,也就是一個php文件,流行的phpmail有很多,今天以smtp.php為例來演示。
3
2.將其複製到你的項目文件內,具體路徑根據自己的實際情況,這裡建了一個test文件,用來設置郵件參數,大家也可以自定義郵件參數文件。(PS:一般都是通過表單接受的)
4
3.smtp.php文件如圖所示,大家不需要管代碼,會用就行,有時間了也可以研究研究哈。
5
4.設置郵件參數,具體代碼如下:
//引入發送郵件類
require(“smtp.php”);
//使用163郵箱服務器
$smtpserver = “smtp.163.com”;
//163郵箱服務器端口
$smtpserverport = 25;
//你的163服務器郵箱賬號
$smtpusermail = “@163.com”;
//收件人郵箱
$smtpemailto = “@qq.com”;
//你的郵箱賬號(去掉@163.com)
$smtpuser = “”;//SMTP服務器的用戶帳號
//你的郵箱密碼
$smtppass = “”; //SMTP服務器的用戶密碼
6
5.設置郵件內容,代碼如下:
//郵件主題
$mailsubject = “測試郵件發送”;
//郵件內容
$mailbody = “PHP+MySQL”;
//郵件格式(HTML/TXT),TXT為文本郵件
$mailtype = “TXT”;
//這裡面的一個true是表示使用身份驗證,否則不使用身份驗證.
$smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);
//是否顯示發送的調試信息
$smtp-debug = TRUE;
//發送郵件
$smtp-sendmail($smtpemailto, $smtpusermail, $mailsubject, $mailbody, $mailtype);
刷新頁面後郵件發送,參數不出錯的話1分鐘左右即可發送成功。我在測試的時候沒有發送成功提示,自己登錄郵箱查看的,如圖所示,內容和上面設置的一樣。
PHP使用郵箱發送郵件(phpmailer/phpmailer)
本文以QQ郵箱為案例
1.配置QQ郵箱,獲取SMTP 密碼
3.開啟PHP模塊(php.ini)
PHPMailer 需要 PHP 的 sockets 擴展支持,而登錄 QQ 郵箱 SMTP 服務器則必須通過 SSL 加密,故 PHP 還得包含 openssl 的支持。
4.composer 安裝最新版發送郵件類庫
composer require phpmailer/phpmailer:6.1.5
TP5.1類庫封裝
怎麼利用php發送郵件求詳細教程
PHP雖然提供了mail()函數,但並不好用,而PHPMailer是一個不錯的郵件發送工具,接下來將詳細介紹,需要了解的朋友可以參考下:
本人使用wamp集成開發環境,Apache2.4.4, Mysql5.6.12 , php5.4.12.開始的時候使用mail()發送郵件,更改配置始終無法成功,了解到mail()函數使用需要sendmail程序。又下載了sendmail程序擴展包。按照網上的說法也改好了php.ini和sendmail.ini。使用foxmail 7.1創建了自己的qq郵箱賬戶,開啟了POP3/SMTP服務,更改發件服務器為POP3,使用和收件服務器相同的身份驗證,結果還是報錯:Warning: mail(): SMTP server response: 503 Error: need EHLO and AUTH first ! in F:\PHP\wamp\www\mail.php on line 8。以下是使用mail()函數發送郵件的php代碼:
[php] view plain copy
span style=”font-size:14px”?php
$to = “757006080@qq.com”;
$subject = “Test mail”;
$message = “Hello! This is a simple email message.”;
$from = “757006080@qq.com”;
$headers = “From: $from”;
$send=mail($to,$subject,$message,$headers);
if($send)
echo “Mail Sent”;
else
echo “Sorry,mail sent failed!”
?/span
在CSDN論壇上發現phpmailer可以方便快捷的發送郵件,以下寫出詳細使用教程:
1.需要下載PHPMailer文件包,(點擊打開鏈接)
2.確認你的服務器已經系統支持socket,通過phpinfo()查看是否支持socket;
3.把文件解壓到你的WEB服務器目錄下,就可以使用PHPMailer發送郵件了。
以下為前台表單php代碼:
[php] view plain copy
span style=”font-size:14px”html
body
h3phpmailer Unit Test/h3
請你輸入font color=”#FF6666″收信/font的郵箱地址:
form name=”phpmailer” action=”testemail.php” method=”post”
input type=”hidden” name=”submitted” value=”1″/
郵箱地址: input type=”text” size=”50″ name=”to” /
br/
input type=”submit” value=”發送”/
/form
/body
/html /span
以下為後台程序:
[php] view plain copy
?php
/**
* Simple example script using PHPMailer with exceptions enabled
* @package phpmailer
* @version $Id$
*/
header(“content-type:text/html;charset=utf-8”);
ini_set(“magic_quotes_runtime”,0);
require(‘class.phpmailer.php’);
try {
$mail = new PHPMailer(true); //New instance, with exceptions enabled
//$body = file_get_contents(‘contents.html’);
//$body = preg_replace(‘/\\\\/’,”, $body); //Strip backslashes
$to = $_POST[‘to’];
$mail-CharSet=”GB2312″;//設置郵件字符編碼否則郵件會亂碼
$mail-Encoding=”base64″;
$mail-IsSMTP(); // tell the class to use SMTP
$mail-SMTPAuth = true; // enable SMTP authentication
$mail-Port = 25; // set the SMTP server port
$mail-Host = “smtp.qq.com”; // SMTP server
$mail-Username = “757006080@qq.com”; // SMTP server username
$mail-Password = “000000000000”; // SMTP server password
//$mail-IsSendmail(); // tell the class to use Sendmail
$mail-AddReplyTo(“757006080@qq.com”,”han qing”);
$mail-From = “757006080@qq.com”;
$mail-FromName = “han qing”;
//$to = “hanqing757@gmail.com”;
$mail-AddAddress($to);
$mail-Subject =$mail-Subject = “=?utf-8?B?” . base64_encode(“First PHPMailer Message”) . “?=”;
$mail-Body = “h1phpmailer演示/h1 這是用PHPMAILER發的第一份郵件,從QQ郵箱發到Google郵箱.”;
$mail-AddAttachment(“F:/myloe.jpg”);
$mail-AltBody = “To view the message, please use an HTML compatible email viewer!”; // optional, comment out and test
$mail-WordWrap = 80; // set word wrap
//$mail-MsgHTML($body);
$mail-IsHTML(true); // send as HTML
$mail-Send();
echo ‘Message has been sent.’;
} catch (phpmailerException $e) {
echo $e-errorMessage();
}
?
用PHP怎麼實現發郵件的功能了,是不是要在服務器上,裝上發郵件的軟件,然後用PHP函數實現發送了?
不用,php什麼都不用就可以發郵件,用php類就可以了。php有socket類,直接就可以發郵件
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/154896.html