如果要使用php發送郵件,則可以使用PHP 內置的mail() 函數,但是mail()函數需要有服務器支持 必須有自己的郵件服務器,如果使用stmp服務來發送郵件的話相當於代替別人發送,而不是從自己服務器發送,所以不適合。(李昌輝)
再有就是mail()函數本身的特點,mail() 函數功能並不完善,只能發送文本的 e-mail,使用 mail() 函數發送的郵件沒有進行身份驗證,很多郵件收不到使用 mail() 函數發送的郵件或者發送的郵件直接進入垃圾郵箱。
如果想要在自己的php程序中使用已經有的郵箱賬號(例如126郵箱賬號)來發送郵件的話,可以使用PHPMailer類來實現。
本人測試使用的是126郵箱賬號,使用126的stmp服務進行發送郵件,具體步驟如下:
1.登錄自己的郵箱,在設置里面開啟POP3/SMTP服務。
在開啟該服務的時候,需要設置授權碼,該授權碼就是將來使用smtp服務的密碼。
2.下載PHPMailer,新建測試文件,在文件里面引入PHPMailer文件夾下的class.phpmailer.php。
include("./PHPMailer/class.phpmailer.php");
3.在該頁面造PHPMailer對象寫入以下代碼,其中***部分是根據自身情況填寫的。
$mail = new PHPMailer(); $mail->isSMTP(); // 啟用SMTP //$mail->SMTPDebug=1; //開啟調試模式 //$mail->SMTPSecure = "ssl"; $mail->CharSet='utf-8'; //設置郵件編碼格式 $mail->Host="smtp.126.com;"; //smtp服務器的名稱(這里以126郵箱為例) $mail->SMTPAuth = true; //啟用smtp認證 $mail->Username = "*****"; //你的郵箱名可以不寫@后綴,也可以寫 $mail->Password = "*****" ; //郵箱密碼,現在開啟郵箱SMTP后叫做安全碼 $mail->Port=25; //SMTP端口號 //$mail->Port = 994; $mail->setFrom("****@126.com","alvin"); //發件人地址(也就是你的郵箱地址)和發件人名稱 $mail->AddAddress("****@qq.com",""); //接收人地址和名稱 $mail->WordWrap = 100; //設置每行字符長度 $mail->isHTML(true); // 是否HTML格式郵件 $mail->Subject ="你好這是測試的"; //郵件主題 $mail->Body = "給你發送個信息"; //郵件內容 //$mail->AltBody = "這是一個純文本的身體在非營利的HTML電子郵件客戶端"; //郵件正文不支持HTML的備用顯示 var_dump($mail->Send()); //發送方法,發送成功返回true,失敗返回false //echo $mail->ErrorInfo; //獲取錯誤信息
4.填寫好相應的數據,運行該頁面,即可發送成功