使用phpmailer傳送郵件

2021-09-14 06:34:09 字數 1517 閱讀 6886

最近做郵件傳送的時候嘗試了一下phpmailer,但是在用的過程中還是遇到一些問題,在這裡記一下。做的過程中主要遇到這幾個問題。

1.在做常規測試的時候,發現郵件傳送特別慢。這裡主要找到是這句造成的:

$this->smtp_conn = @stream_socket_client( $host . ":" . $port, $errno, $errstr, $timeout, stream_client_connect, $socket_context );
遇到這個問題,需要將$smtpdebug設定成2。預設設定是0什麼也不處理;

2.在郵件傳送中需要新增抄送人。可以這麼設定:

if(is_string($addcc))else if(is_array($addcc))

}

3.新增附件

if($is_attachment)
4.新版有時候還會報

mail from command failed: 501 mail from address must be same as authorization user
5.有時需要新增抄送功能,可以這麼設定。陣列的時候是批量新增抄送,字串是單個抄送。

if(is_string($addcc))else if(is_array($addcc))

}

最後附上乙個簡單的實現函式

/**

* $username 使用者名稱

* $password 密碼

* $setfromusername 傳送人姓名

* $send_mail 需要傳送的郵件位址

* $addcc 需要抄送的郵件位址

* $title 郵件標題

* $content 郵件內容

* $is_attachment 是都需要附件

*/function send($username, $password, $setfromusername,$send_mail, $addcc,$title,$content="",$is_attachment=0, $attachment_add="")

foreach ($send_mail as $k=>$v)else if(is_array($addcc))

}$mail->subject = $title;

$mail->body = $content ? $content : $title;

$mail->altbody = $content ? $content : $title;; //當郵件不支援html時備用顯示,可以省略

$mail->wordwrap = 80; // 設定每行字串的長度

if($is_attachment)

$mail->ishtml(true);

$mail->send();

}echo '郵件已傳送';

}

使用phpmailer傳送郵件

說起來還真不好意思.弄個郵件左左右右差不多弄了2周,當然了,我請了一周的假期.我們公司的郵件發不出去了,原來的郵件是用的php自帶的mail 函式.可能是配置問題吧.這個不是我要處理的問題,暫且不去找原因了,解決辦法,就是用乙個smtp 發郵件的外掛程式,來處理,要傳送的內容,主題都不用改動 解壓後...

使用phpmailer傳送郵件

解壓後有2個php檔案 2個類 1個html檔案 api 將2個php檔案放到php專案中 簡述 我這裡是用乙個163的郵箱發訊息給126的郵箱 關鍵 如下 require class.phpmailer.php mail new phpmailer true 建立郵件傳送類 mail charse...

PHPMailer 郵件傳送

一般有兩個檔案,左邊的資料夾是包含class類檔案等,右邊就是傳送配置檔案 require phpmailer class.phpmailer.php mail new phpmailer mail issmtp mail charset utf 8 mail host smtp.qq.com 這裡...