本文目錄一覽:
thinkphp中怎樣發郵件,帶附件
郵件配置
‘THINK_EMAIL’ = array(
‘SMTP_HOST’ = ‘smtp.163.com’, //SMTP伺服器
‘SMTP_PORT’ = ‘465’, //SMTP伺服器埠
‘SMTP_USER’ = ‘ihtxt@163.com’, //SMTP伺服器用戶名
‘SMTP_PASS’ = ‘ihtxt.com’, //SMTP伺服器密碼
‘FROM_EMAIL’ = ‘ihtxt@163.com’, //發件人EMAIL
‘FROM_NAME’ = ‘愛紅電子書’, //發件人名稱
‘REPLY_EMAIL’ = ‘ihtxt@163.com’, //回復EMAIL(留空則為發件人EMAIL)
‘REPLY_NAME’ = ‘愛紅電子書’, //回複名稱(留空則為發件人名稱)
),
註:推薦使用163郵件,不要使用QQ郵箱,郵件配置一定要正確
可以將該函數放到ThinkPHPCommoncommon.php。也可以放到你生成的項目文件的Commoncommon.php。不過只能放到一個地方,否則就會報函數重定義錯誤。
/**
* 系統郵件發送函數
* @param string $to 接收郵件者郵箱
* @param string $name 接收郵件者名稱
* @param string $subject 郵件主題
* @param string $body 郵件內容
* @param string $attachment 附件列表
* @return boolean
*/
function think_send_mail($to, $name, $subject = ”, $body = ”, $attachment = null){
$config = C(‘THINK_EMAIL’);
vendor(‘PHPMailer.class#phpmailer’); //從PHPMailer目錄導class.phpmailer.php類文件
$mail = new PHPMailer(); //PHPMailer對象
$mail-CharSet = ‘UTF-8’; //設定郵件編碼,默認ISO-8859-1,如果發中文此項必須設置,否則亂碼
$mail-IsSMTP(); // 設定使用SMTP服務
$mail-SMTPDebug = 0; // 關閉SMTP調試功能
// 1 = errors and messages
// 2 = messages only
$mail-SMTPAuth = true; // 啟用 SMTP 驗證功能
$mail-SMTPSecure = ‘ssl’; // 使用安全協議
$mail-Host = $config[‘SMTP_HOST’]; // SMTP 伺服器
$mail-Port = $config[‘SMTP_PORT’]; // SMTP伺服器的埠號
$mail-Username = $config[‘SMTP_USER’]; // SMTP伺服器用戶名
$mail-Password = $config[‘SMTP_PASS’]; // SMTP伺服器密碼
$mail-SetFrom($config[‘FROM_EMAIL’], $config[‘FROM_NAME’]);
$replyEmail = $config[‘REPLY_EMAIL’]?$config[‘REPLY_EMAIL’]:$config[‘FROM_EMAIL’];
$replyName = $config[‘REPLY_NAME’]?$config[‘REPLY_NAME’]:$config[‘FROM_NAME’];
$mail-AddReplyTo($replyEmail, $replyName);
$mail-Subject = $subject;
$mail-AltBody = “為了查看該郵件,請切換到支持 HTML 的郵件客戶端”;
$mail-MsgHTML($body);
$mail-AddAddress($to, $name);
if(is_array($attachment)){ // 添加附件
foreach ($attachment as $file){
is_file($file) $mail-AddAttachment($file);
}
}
return $mail-Send() ? true : $mail-ErrorInfo;
}
$r = think_send_mail(‘要發送的郵箱’,’發送人名稱,即你的名稱’,’文件標題’,’郵件內容’);
windows下在php.ini中去掉下面的分號
extension=php_openssl.dll
並將allow_url_fopen = Off改為
allow_url_fopen = On
php 如何通過smtp發送圖片郵件?
方法很多。
方法1:可以弄成html,找個伺服器,郵件發送時發html就是
方法2:圖做成郵件附件
方法3:type= “image/jpeg”修改郵件文件屬性發送
php 郵件如何配置附件的路徑
建議使用PHPEmailer發送郵件,使用非常簡單:
require(‘class.phpmailer.php’);
$mail = new PHPMailer(); //實例化
$mail-IsSMTP(); // 啟用SMTP
$mail-Host = “smtp.163.com”; //SMTP伺服器 163郵箱例子
$mail-Port = 25; //郵件發送埠
$mail-SMTPAuth = true; //啟用SMTP認證
$mail-CharSet = “UTF-8”; //字符集
$mail-Encoding = “base64”; //編碼方式
$mail-Username = “abc@163.com”; //你的郵箱
$mail-Password = “xxx”; //你的密碼
$mail-Subject = “xxx你好”; //郵件標題
$mail-From = “abc@163.com”; //發件人地址(也就是你的郵箱)
$mail-FromName = “xxx”; //發件人姓名
$address = “xxx@qq.com”;//收件人email
$mail-AddAddress($address1, “xxx1”); //添加收件人1(地址,昵稱)
$mail-AddAttachment(‘xx.xls’,’我的附件.xls’); // 添加附件,並指定名稱
$mail-AddAttachment(‘xx1.xls’,’我的附件1.xls’); // 可以添加多個附件
$mail-IsHTML(true); //支持html格式內容
$mail-Body = ‘你好, b朋友/b! br/這是一封郵件!’; //郵件主體內容
//發送
if(!$mail-Send()) {
echo “發送失敗: ” . $mail-ErrorInfo;
} else {
echo “成功”;
}
如何使用PHP發送包含附件的電子郵件
通常需要把 附件 比如 aa.txt 做處理
然後 通過 fsockopen 打開 對方 郵件地址
通過 fwrite 把 附件內容 寫進對方的地址 郵件內容中
例如 下面這種 需要這麼處理
最下方 最長的那一段 實際上就是 附件的真實內容 也就是說 aa.txt裡邊的內容 是以這種方式傳送的 當然了這是編碼過以後的 結果
那麼在對方收到你的 郵件後 在讀取時 也是需要解碼 然後給你 看的
最終 解碼後 你看到的 結果 就是 aa.txt 下載打開後 裡邊就會有內容了
Content-Type: text/x-c++;
name=”=?utf-8?B?7JWE7IKs64us7JWE7IKs64us7ZWY64iF7LWc6rOg7Lu07Y2864uILnR4dCgzM0tCKQ==?=”
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename=”=?utf-8?B?7JWE7IKs64us7JWE7IKs64us7ZWY64iF7LWc6rOg7Lu07Y2864uILnR4dCgzM0tCKQ==?=”
77u/7Jqw7Y6467KI7Zi4IOyngOuyiOyjvOyGjCDsl4bslaDquLA6JHJvYWRf
dHlwZT10cnVlOw0KDQoxLiDsnIjrj4Qg7ISc67KEIA0KLSBJUCA6IDExMC40
NS4xNDUuMTMwIChtc3RzY+uhnCDsoJHsho3tlZjsi5zrqbQg65Cp64uI64uk
LikNCmFkbWluaXN0cmF0b3IgLyBEa3RrZWtmIzQNCg0KRE5TOjIxOS4xNDku
MTk0LjU1DQpJRCA6IEFzYVByb2dyYW0gICAgIFBXIDogQVNBcHJvZyAgQXNh
UHJvZyAgYXNhcHJvZw0KRUtGS1FIRH4hDQoNCj09PT09PT09PT09PT09PT09
PT09PT09PT1kZWZpbmUv5qW36L6o6YWS6I2k5bSUSVAgDQoNCmRlZmluZSgn
X19EQl9NWVNRTF9ERUJVR19JUF9fJywnMjIyLjE2MS4zLjQsMTI0LjIzNC4x
MDAuODInKTsgc3Fs6K+t5Y+lDQoNCg0KZGVmaW5lKCdfX0RCX01ZU1FMX0RF
QlVHX0lQX0VYVF9fJywgJzIyMi4xNjEuMy40LDEyNC4yMzQuMTAwLjgyJyk7
DQoNCg0KDQoNCg0KJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10gLyoq6I2k5o2e
6aOY55aZIOWUseWdt+e7sOiKrSoqLw0KDQppZiAoJF9TRVJWRVJbJ1JFTU9U
RV9BRERSJ10gPT0gJzIyMi4xNjEuMy40J3x8JF9TRVJWRVJbJ1JFTU9URV9B
RERSJ10gPT0gJzIyMi4xNjkuMzMuNzQnKSB7DQoJJGluY2x1ZGVkX2ZpbGVz
ID0gZ2V0X2luY2x1ZGVkX2ZpbGVzKCk7DQoJZm9yZWFjaCgkaW5jbHVkZWRf
ZmlsZXMgYXMgJGZpbGVuYW1lKSB7DQoJCXByaW50ICRmaWxlbmFtZSAuICc8
YnI+JzsNCgl9DQp9ICAJCQkJaW5jbHVkZSBmaWxlDQotLS0tLS0tLS0tLS0t
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/293979.html