Email 类別方法
forge($setup = null, array $config = array())
forge 回傳一个新的 Email_Driver 實例基於配置或它接收到的輸入。
靜態 |
是 |
參数 |
參数 |
类型 |
預設 |
描述 |
$setup |
混合 |
null
|
提供 null 做为預設的配置,一个設定組的名稱,或配置的陣列。 |
$config |
混合 |
null
|
額外配置陣列以动態修改預設配置。 |
|
回傳 |
一个新的 Email_Driver 實例 |
範例 |
// 简单的樣本:
$email = \Email::forge();
// 從一个群組載入配置
$email = \Email::forge('my_defaults');
// 提供配置
$email = \Email::forge(array(
'driver' => 'smtp',
));
// 從群組載入設置以动態覆寫
$email = \Email::forge('my_defaults', array(
'driver' => 'smtp',
));
|
Email driver 方法
擴充 Email_Driver 的每个驅动程序都有这些方法。
你所需要的就是喚醒與执行它們。
body($body)
body 轉換輸入为字串,并設定訊息主體。
靜態 |
否 |
參数 |
參数 |
类型 |
預設 |
描述 |
$body |
字串 |
必要 |
訊息主體。 |
|
回傳 |
$this |
範例 |
$email->body('This is my message.');
// 或傳遞檢視給它
$email->body(\View::forge('my/view', $data);
|
alt_body($alt_body)
alt_body 轉換輸入为字串,并設定訊息的替代主體。
靜態 |
否 |
參数 |
參数 |
类型 |
預設 |
描述 |
$alt_body |
字串 |
必要 |
訊息主體。 |
|
回傳 |
$this |
範例 |
$email->alt_body('This is my alternative message.');
// 或傳遞檢視給它
$email->alt_body(\View::forge('my/alt/view', $data);
|
priority($priority)
priority 方法設定郵件的優先權。
靜態 |
否 |
參数 |
|
回傳 |
$this |
範例 |
$email->priority(\Email::P_HIGHEST);
|
html_body($html, $generate_alt = null, $auto_attach = null)
html_body 方法設置郵件主體并且選擇性地從其產生替代的主體。如果指定內嵌的圖片将自动被附加。
請注意: 預設情況下自动附加是開啟的(透過配置)。要關閉这个功能,提供 false 或者更改配置設定。
靜態 |
否 |
參数 |
參数 |
类型 |
預設 |
描述 |
$html |
字串 |
必要 |
郵件 HTML。 |
$generate_alt |
布林 |
null
|
是否產生替代訊息主體,當提供空值時回退(fallback)到預設配置。 |
$auto_attach |
布林 |
null
|
設定为 true 或 false 以附加嵌入式圖片,當提供空值時回退(fallback)到預設配置。 |
|
回傳 |
$this |
範例 |
$email->html_body(\View::forge('welcome/email', $data));
// 不產生替代訊息主體
$email->html_body(\View::forge('welcome/email', $data), false);
// 產生替代訊息主體,但不自动附加圖片。
$email->html_body(\View::forge('welcome/email', $data), true, false);
|
from($email, $name = false)
from 方法設定來源地址與名稱。
靜態 |
否 |
參数 |
參数 |
类型 |
預設 |
描述 |
$email |
字串 |
必要 |
來源電子郵件。 |
$name |
字串 |
false
|
來源名稱。 |
|
回傳 |
$this |
範例 |
$email->from('me@example.com', 'My Name');
|
subject($subject)
subject 方法設定主題。
靜態 |
否 |
參数 |
參数 |
类型 |
預設 |
描述 |
$subject |
字串 |
必要 |
電子郵件主題。 |
|
回傳 |
$this |
範例 |
$email->subject('This is my subject');
|
to($email, $name = false)
to 方法增加单一或陣列的地址至 to 接收者陣列。
靜態 |
否 |
參数 |
參数 |
类型 |
預設 |
描述 |
$email |
字串|陣列 |
必要 |
接收電子郵件。 |
$name |
字串 |
false
|
接收名稱,當 $email 是陣列時忽略。 |
|
回傳 |
$this |
範例 |
// 添加单一地址
$email->to('me@example.com', 'My Name');
// 添加多个地址
$email->to(array(
'me@example.com',
// 帶有名稱
'me@example.com' => 'His/Her name.',
));
|
cc($email, $name = false)
cc 方法添加单一或陣列的地址到 cc 接收者陣列。
靜態 |
否 |
參数 |
參数 |
类型 |
預設 |
描述 |
$email |
字串|陣列 |
必要 |
接收電子郵件。 |
$name |
字串 |
false
|
接收名稱,當 $email 是陣列時忽略。 |
|
回傳 |
$this |
範例 |
// 添加单一地址
$email->cc('me@example.com', 'My Name');
// 添加多个地址
$email->cc(array(
'me@example.com',
// 帶有名稱
'me@example.com' => 'His/Her name.',
));
|
bcc($email, $name = false)
bcc 方法添加单一或陣列的地址到 bcc 接收者陣列。
靜態 |
否 |
參数 |
參数 |
类型 |
預設 |
描述 |
$email |
字串|陣列 |
必要 |
接收電子郵件。 |
$name |
字串 |
false
|
接收名稱,當 $email 是陣列時忽略。 |
|
回傳 |
$this |
範例 |
// 添加单一地址
$email->bcc('me@example.com', 'My Name');
// 添加多个地址
$email->bcc(array(
'me@example.com',
// 帶有名稱
'me@example.com' => 'His/Her name.',
));
|
reply_to($email, $name = false)
reply_to 方法添加单一或陣列的地址到 reply to 接收者陣列。
靜態 |
否 |
參数 |
參数 |
类型 |
預設 |
描述 |
$email |
字串|陣列 |
必要 |
接收電子郵件。 |
$name |
字串 |
false
|
接收名稱,當 $email 是陣列時忽略。 |
|
回傳 |
$this |
範例 |
// 添加单一地址
$email->reply_to('me@example.com', 'My Name');
// 添加多个地址
$email->reply_to(array(
'me@example.com',
// 帶有名稱
'me@example.com' => 'His/Her name.',
));
|
header 方法添加一个自訂的标題到你的郵件表頭。
靜態 |
否 |
參数 |
參数 |
类型 |
預設 |
描述 |
$header |
字串|陣列 |
必要 |
表頭的类型或表頭的陣列。 |
$value |
字串 |
null
|
表頭的值。 |
|
回傳 |
$this |
範例 |
// 添加单一地址
$email->header('X-SMTPAP', 'XXXXXXXX');
// 添加多个地址
$email->reply_to(array(
'X-SMTPAP' => 'XXXXXX',
'X-SMTPAP2' => 'XXXXXA',
));
|
clear_recipients()
clear_recipients 方法清空 to、cc 與 bcc 列表。
靜態 |
否 |
參数 |
無
|
回傳 |
$this |
範例 |
// 添加单一地址
$email->bcc('me@example.com', 'My Name');
// 添加多个地址
$email->to(array(
'me@example.com',
// 帶有名稱
'me@example.com' => 'His/Her name.',
));
// 重置
$email->clear_recipients();
|
clear_addresses()
clear_addresses 方法清空 to、cc、bcc 與 reply to 列表。
靜態 |
否 |
參数 |
無
|
回傳 |
$this |
範例 |
// 添加单一地址
$email->reply_to('me@example.com', 'My Name');
// 添加多个地址
$email->to(array(
'me@example.com',
// 帶有名稱
'me@example.com' => 'His/Her name.',
));
// 重置
$email->clear_addresses();
|
clear_to()
clear_to 方法清空 to 接收者列表。
靜態 |
否 |
參数 |
無
|
回傳 |
$this |
範例 |
// 添加多个地址
$email->to(array(
'me@example.com',
// 帶有名稱
'me@example.com' => 'His/Her name.',
));
// 重置
$email->clear_to();
|
clear_cc()
clear_cc 方法清空 cc 接收者列表。
靜態 |
否 |
參数 |
無
|
回傳 |
$this |
範例 |
// 添加多个地址
$email->cc(array(
'me@example.com',
// 帶有名稱
'me@example.com' => 'His/Her name.',
));
// 重置
$email->clear_cc();
|
clear_bcc()
clear_bcc 方法清空 bcc 接收者列表。
靜態 |
否 |
參数 |
無
|
回傳 |
$this |
範例 |
// 添加多个地址
$email->bcc(array(
'me@example.com',
// 帶有名稱
'me@example.com' => 'His/Her name.',
));
// 重置
$email->clear_bcc();
|
clear_reply_to()
clear_reply_to 方法清空 reply to 列表。
靜態 |
否 |
參数 |
無
|
回傳 |
$this |
範例 |
// 添加多个地址
$email->reply_to(array(
'me@example.com',
// 帶有名稱
'me@example.com' => 'His/Her name.',
));
// 重置
$email->clear_reply_to();
|
attach($file, $inline = false, $cid = null, $mime = null, $name = null)
attach 方法附加一个档案。
此方法将会在 attach_paths 陣列裡設定(config/email.php)的附件路徑中搜尋档案。
靜態 |
否 |
參数 |
參数 |
类型 |
預設 |
描述 |
$file |
字串 |
false
|
引入档案的路徑。 |
$inline |
布林 |
false
|
是否附加內嵌档案。 |
$cid |
字串 |
null
|
內容标識符。附加內嵌圖像時使用。 |
$mime |
字串 |
null
|
MIME 类型預設是去查在 core/config/mimes 內的陣列,以此來覆寫它。 |
$name |
字串 |
null
|
附件名稱覆寫。 |
|
回傳 |
$this |
範例 |
// 添加一个附件
$email->attach(DOCROOT.'attachments/report.pdf');
// 添加一个內嵌圖像
$email->attach(DOCROOT.'assets/img/mail/header.png', true, 'cid:headerimage');
// 此圖像将被包成 <img src="cid:headerimage" />
|
string_attach($contents, $filename, $cid = null, $inline = false, $mime = null)
string_attach 方法以字串輸入附加一个档案。
靜態 |
否 |
參数 |
參数 |
类型 |
預設 |
描述 |
$contents |
字串 |
必要 |
附件內容。 |
$filename |
字串 |
必要 |
使用的档案名稱。 |
$cid |
字串 |
null
|
內容标識符。附加內嵌圖像時使用。 |
$inline |
布林 |
false
|
是否将附加档案內嵌。 |
$mime |
字串 |
null
|
MIME 类型預設是去查在 core/config/mimes 內的陣列,以此來覆寫它。 |
|
回傳 |
$this |
範例 |
// 添加一个附件
$email->string_attach('This is a textfile', 'test.txt');
|
clear_attachments()
clear_attachments 方法清除附件陣列。
靜態 |
否 |
參数 |
無
|
回傳 |
$this |
範例 |
// 添加一些附件
$email->string_attach('This is a textfile', 'test.txt');
$email->attach(DOCROOT.'uploads/attach.pdf');
// 然後清空附件
$email->clear_attachments();
|
send($validate = null)
send 方法发送信件。
靜態 |
否 |
參数 |
參数 |
类型 |
預設 |
描述 |
$validate |
布林 |
null
|
是否驗證地址,退回到配置設定。 |
|
回傳 |
布林 |
範例 |
try{
$email->send();
}
catch(\EmailSendingFailedException $e)
{
// 驅动程序無法发送信件。
}
catch(\EmailValidationFailedException $e)
{
// 单一或更多驗證失敗的email地址。
}
|
get_invalid_addresses()
get_invalid_addresses 方法回傳未通過驗證的email地址。
靜態 |
否 |
參数 |
無
|
回傳 |
$this |
範例 |
try{
$email->send();
}
catch(\EmailSendingFailedException $e)
{
// 驅动程序無法发送信件。
}
catch(\EmailValidationFailedException $e)
{
// 单一或更多驗證失敗的email地址。
$these_failed = $email->get_invalid_addresses();
}
|
return_path($email)
return_path 方法設定回傳路徑地址。
靜態 |
否 |
參数 |
參数 |
类型 |
預設 |
描述 |
$email |
字串 |
必要 |
郵件回傳路徑。 |
|
回傳 |
$this |
範例 |
$email->return_path('bounces@example.com');
|
pipelining($pipelining = true)
pipelining 方法可使用流水線(一次发送多个訊息)。
對於不支援的驅动,这个方法是一个空操作(NOOP)。流水線預設是停用的。
靜態 |
否 |
參数 |
參数 |
类型 |
預設 |
描述 |
$pipelining |
布林 |
true
|
流水線是否應該被啟用。 |
|
回傳 |
$this |
範例 |
$email->pipelining(true);
|
Email getters
get_from()
get_from 方法回傳配置的 "from" 地址。
靜態 |
否 |
參数 |
無
|
回傳 |
字串 |
範例 |
// 回傳透過 from() 設定的地址
$from = $email->get_from();
|
get_to()
get_to 方法回傳配置的 "to" 地址。
靜態 |
否 |
參数 |
無
|
回傳 |
陣列 |
範例 |
// 回傳透過 to() 設定的地址
$to = $email->get_to();
|
get_cc()
get_cc 方法回傳配置的 "cc" 地址。
靜態 |
否 |
參数 |
無
|
回傳 |
陣列 |
範例 |
// 回傳透過 cc() 設定的地址
$cc = $email->get_cc();
|
get_bcc()
get_bcc 方法回傳配置的 "bcc" 地址。
靜態 |
否 |
參数 |
無
|
回傳 |
陣列 |
範例 |
// 回傳透過 bcc() 設定的地址
$bcc = $email->get_bcc();
|
get_reply_to()
get_reply_to 方法回傳配置的 "reply_to" 地址。
靜態 |
否 |
參数 |
無
|
回傳 |
字串 |
範例 |
// 回傳透過 reply_to() 設定的地址
$reply_to = $email->get_reply_to();
|
get_body()
get_body 方法回傳設定的 Email 主體。
靜態 |
否 |
參数 |
無
|
回傳 |
字串 |
範例 |
// 回傳 Email 主體
$text = $email->get_body();
|
get_subject()
get_subject 方法回傳配置的 Email "subject"。
靜態 |
否 |
參数 |
無
|
回傳 |
字串 |
範例 |
// 回傳透過 subject() 設定的主題
$subject = $email->get_subject();
|