本文目錄一覽:
- 1、php中怎樣寫自動發送郵件
- 2、php怎麼實現自動發郵件
- 3、PHP 如何編寫用戶註冊後自動發送郵件到用戶郵箱?
- 4、PHP用網易企業郵箱怎麼自動發送郵件?
- 5、php如何發送郵件
- 6、php中自動發送郵件的函數?
php中怎樣寫自動發送郵件
思路是這樣
php端寫好發送郵件的代碼
可以參考phpMailer
php是不能實現自動發送,除非你給他一個請求如註冊時,發送郵件驗證,也是有註冊請求才發送的
一版都是在伺服器端 執行你寫好的PHP文件,比如linux的任務計劃功能
php怎麼實現自動發郵件
PHP網上有個SMTP類,可以使用這個類來發送郵件。自動的話只能用url監控
PHP 如何編寫用戶註冊後自動發送郵件到用戶郵箱?
1、進入自己已有的郵箱,設置帳戶,選擇「開啟POP3/SMTP服務」並保存更改。我就哪我現有設置好的郵箱給大家演示(註:我用的是騰訊企業郵箱,特別注意我畫紅部分,第一個必要設置就是在郵箱里設置:開啟POP/SMTP服務,第二個就是必要獲取POP伺服器的信息),如圖: 2、進入dede後台,系統,系統基本參數,核心設置,配置好郵箱發信的信息.以下是我的配置(說明和如演示圖):是否啟用smtp方式發送郵件:是.smtp伺服器:smtp.exmail.qq.com (註:因為我用的是QQ企業郵箱,所以可以參照上圖演示第二個畫紅部分.POP伺服器為:我所填寫的:smtp.exmail.qq.com,一般這個POP伺服器的填寫不是亂填,請一定要參考你使用的郵箱他們所在的POP伺服器.)smtp伺服器埠:25 (一般這個不需要可以去修改改變.默認為:25)SMTP伺服器的用戶郵箱:webmaster@asqq8.net (這裡填寫完整的郵箱地址)SMTP伺服器的用戶帳號:webmaster (這裡填寫郵箱開頭的賬戶也就是用戶名)SMTP伺服器的用戶密碼:123456 (密碼就不用多說了)3.進入dede後台,系統,系統基本參數,會員設置,在「會員使用許可權開通狀態(-10郵件驗證-1手工審核,0沒限制)」填-10 如圖:教程演示操縱到這裡,已經可以收到郵件了
PHP用網易企業郵箱怎麼自動發送郵件?
企業郵箱好像不是25埠吧?
登錄企業郵箱,確定裡面的相關協議是否開啟,各項參數是否正確!
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.php
代碼如下:
?php
/************************************************
* 有身份驗證的電子郵件發送類(PHP)
* 使用本類發送郵件需要一個SMTP伺服器地址以及一個合法帳號
* 如163的SMTP地址為:smtp.163.split.netease.com
* 合法帳號可以通過隨意註冊一個免費信箱來獲得。
* 改編 一起PHP技術聯盟 rznqp@163.com
* 本類的SMTP協議實現部分借鑒了其他開發者的成果,一併致謝。
* 2007.11 歡迎使用
***********************************************/
class PhpMailer{
var $smtpHost;
var $smtpUser;
var $smtpPass;
var $mailFrom;
/* 郵件正文的格式,默認支持HTML代碼
* 可選項 plain :文本格式
* html :HTML格式
*/
var $contentType = “html”;
var $errMsg = ”;
/**
* 3參數構造器
* @param String $host SMTP伺服器
* @param String $user 帳號名
* @param String $pass 密碼
* 無返回值
*/
function __construct($host,$user,$pass){
$this-smtpHost = $host;
$this-smtpUser = $user;
$this-smtpPass = $pass;
$this-mailFrom = $this-smtpUser;
}
/**
* 發送郵件
* @param String $addr 收件人的E-mail地址
* @param String $fromName 顯示的發件人姓名
* @param String $title 郵件標題
* @param String $content 郵件正文
* 返回 布爾型:成功返回true,否則返回false
*/
function send($addr,$fromName,$title,$content){
$headers = “Content-Type: text/”.$this-contentType.”; charset=\”gb2312\”
Content-Transfer-Encoding: base64″;
$lb=”
“;
$hdr = explode($lb,$headers);
if($content){
$bdy = preg_replace(“/^./”,”..”,explode($lb,$content));
}
$smtp = array(
array(“EHLO hello”.$lb,”220,250″,”EHLO error: “),
array(“AUTH LOGIN”.$lb,”334″,”AUTH error:”),
array(base64_encode($this-smtpUser).$lb,”334″,”AUTHENTIFICATION error : “),
array(base64_encode($this-smtpPass).$lb,”235″,”AUTHENTIFICATION error : “)
);
$smtp[] = array(“MAIL FROM: “.$this-mailFrom.””.$lb,”250″,”MAIL FROM error: “);
$smtp[] = array(“RCPT TO: “.$addr.””.$lb,”250″,”RCPT TO error: “);
$smtp[] = array(“DATA”.$lb,”354″,”DATA error: “);
$smtp[] = array(“From: “.$fromName.$lb,””,””);
$smtp[] = array(“To: “.$addr.$lb,””,””);
$smtp[] = array(“Subject: “.$title.$lb,””,””);
foreach($hdr as $h) {
$smtp[] = array($h.$lb,””,””);
}
$smtp[] = array($lb,””,””);
if($bdy) {
foreach($bdy as $b) {
$smtp[] = array(base64_encode($b.$lb).$lb,””,””);
}
}
$smtp[] = array(“.”.$lb,”250″,”DATA(end)error: “);
$smtp[] = array(“QUIT”.$lb,”221″,”QUIT error: “);
//打開SOCKET
$fp = @fsockopen($this-smtpHost, 25);
if (!$fp) $this-errMsg = “b錯誤:/b 無法連接到 “.$this-smtpHost.””;
while($result = @fgets($fp, 1024)){
if(substr($result,3,1) == ” “) { break; }
}
foreach($smtp as $req){
@fputs($fp, $req[0]);
if($req[1]){
while($result = @fgets($fp, 1024)){
if(substr($result,3,1) == ” “) { break; }
};
if (!strstr($req[1],substr($result,0,3))){
$this-errMsg.=$req[2].$result.””;
}
}
}
@fclose($fp);
if($this-errMsg ==”){
return true;
}else{
return false;
}
}
}
?
這個類文件對郵件發送操作進行了封裝,使用時不需要做任何更改。只需要在需要發送郵件的程序中包含即可。下面是一個使用的例子:
example.php
代碼如下:
?php
/******************************************
* PhpMailer類使用方法演示程序
******************************************/
require_once(‘PhpMailer.php’);
$test =new PhpMailer(“smtp.xxx.com”,”name@yourhost.com”,”yourpassword”);
$send =$test-send(“rznqp@163.com”,”一起PHP”,”郵件標題”,”郵件內容(支持HTML)”);
if($send){
echo “發送成功。”;
}else{
echo “發送失敗。錯誤信息:”.$test-errMsg;
}
?
注釋:
$test = new PhpMailer(參數1,參數2,參數3)
創建類對象。三個參數為必填。分別表示 SMTP伺服器地址、用戶名、密碼(用戶名為完整的郵件地址格式)。
如使用163的SMTP: smtp.163.split.netease.com 用戶名abc@163.com 密碼 123456。
$send = $test-send(參數1,參數2,參數3,參數4)
調用 send()方法發送郵件,四個參數為必填。分別表示收信人地址、發信人姓名、郵件標題、郵件正文。
$send接收返回結果。發送成功返回true,失敗返回false。並將失敗原因存放在errMsg變數中。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/237793.html