利用godaddy的cpanel郵箱伺服器的smtp發郵件

地球沒有花發表於2018-11-04

 

============2018.11.17 更新=====================

可以使用wp_mail()這個現成的函式來發郵件,wp_mail()底層也是使用phpmailer。

$headers = array('Content-Type: text/html; charset=UTF-8','From: '. get_option('blogname') .' < ' . get_option('admin_email') . '>');
$book_path = wp_upload_dir()["basedir"].'/books/'.$book_id;
if (!file_exists($book_path)){
    return 666;
}
$attachments = array($book_path);
$rlt = wp_mail($email,$book_name,"這是一本的書",$headers,$attachments);

============2018.11.17 更新=====================

想髮帶附件的郵件,使用php語言。

有一個著名的phpmailer的庫(https://github.com//PHPMailer//PHPMailer//wiki//Troubleshooting),在它的troubleshooting裡面提到了godaddy的“特殊”。

下面記錄一下我的發郵件過程。

第一步,先申請cpanel郵箱,開啟cpanel,如下圖所示

建立了指定域名的郵箱賬戶。

第二步,參考郵件mx配置指導連結:https://sg.godaddy.com/zh/help/cpanel-dns-8852

開啟dns管理頁面:https://dcc.godaddy.com/manage/your_domain/dns

新增解析記錄:

 第三步,回到cpanel點選郵件配置:

第四步,使用者名稱,密碼,傳送伺服器,埠號,這四個是一會兒發郵件要用到的。

第五步,程式碼部分:

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require '../lib/PHPMailer/src/Exception.php';
require '../lib/PHPMailer/src/PHPMailer.php';
require '../lib/PHPMailer/src/SMTP.php';

function sendMail($email){
	$mail = new PHPMailer;
	$mail->isSMTP();
	//Enable SMTP debugging
	// 0 = off (for production use)
	// 1 = client messages
	// 2 = client and server messages
	$mail->SMTPDebug = 2;
	$mail->CharSet ='UTF-8';
	$mail->Host = '此處填寫傳送伺服器';
	//Set the SMTP port number - likely to be 25, 465 or 587
	$mail->Port = 465;
	$mail->FromName = "我的別名";
	$mail->From = '此處填寫使用者名稱';
	$mail->Username = '此處填寫使用者名稱';
        $mail->Password = '此處填寫密碼';
	$mail->SMTPAuth = true;
	$mail->SMTPSecure = true;
	//$mail->addReplyTo('replyto@example.com', 'First Last');
	$mail->addAddress($email, '');
	$mail->Subject = '過年好';
	$mail->IsHtml(true);
	$mail->Body = '拜個早年';
	$mail->addAttachment('./canglaoshi.jpg');
	if (!$mail->send()) {
		return false;
		echo 'Mailer Error: ' . $mail->ErrorInfo;
	} else {
		return true;
		echo 'Message sent!';
	}

就可以了。

 

相關文章