大家知道,mailto是網(wǎng)頁設(shè)計(jì)制作中的一個(gè)非常實(shí)用的html標(biāo)簽,許多擁有個(gè)人網(wǎng)頁的朋友都喜歡在網(wǎng)站的醒目位置處寫上自己的電子郵件地址,當(dāng)點(diǎn)擊時(shí)就能自動(dòng)打開當(dāng)前計(jì)算機(jī)系統(tǒng)中默認(rèn)的電子郵件客戶端軟件,對于能夠聯(lián)系到我們很有幫助
大家知道,mailto是網(wǎng)頁設(shè)計(jì)制作中的一個(gè)非常實(shí)用的html標(biāo)簽,許多擁有個(gè)人網(wǎng)頁的朋友都喜歡在網(wǎng)站的醒目位置處寫上自己的電子郵件地址,這樣網(wǎng)頁瀏覽者一旦用鼠標(biāo)單擊一下由mailto組成的超級(jí)連接后,就能自動(dòng)打開當(dāng)前計(jì)算機(jī)系統(tǒng)中默認(rèn)的電子郵件客戶端軟件,例如OutLook Express以及Foxmail等。
但是由于各操作系統(tǒng)和郵件客戶端對 mailto 事件連接的處理不一致,所以在實(shí)際應(yīng)用的時(shí)候需要注意;
1.基本語法
<a href=mailto:test@163.com>send email</a>
或者
<form action="mailto:test@163.com">
</form>
參數(shù)列表:
參數(shù)傳遞方式同頁面之間傳遞值一樣,可以使用鏈接字符串,也可以用form
鏈接字符串
<a href="mailto:test@163.com?subject=testtitle&cc=test@126.com&body=this is body">send mail</a>
form方式
代碼如下:
<form name='sendmail' action='mailto:test@163.com'>
<input name='cc' type='text' value='test@hotmail.com'>
<input name='subject' type='text' value='testtitle'>
<input name='body' type='text' value='this is body'>
</form>
2.郵件客戶端區(qū)別
上面是mailto的簡單語法應(yīng)用;但在實(shí)際應(yīng)用中 根據(jù)瀏覽器設(shè)置的瀏覽器客戶端不同,會(huì)有不用效果;
尤其是在body 內(nèi)容包含html 格式的語句時(shí)候,這時(shí)候需要注意;
outlook 是對body 的html 語句原樣展示(對body的html 進(jìn)行 escape 后也是同樣的無效),那么我們在outlook mailto 時(shí)候想body 里面的語句換行怎么辦 呢?<br/> 是沒有效果的。。需要用 %0D 字符作為換行符號(hào);
foxmail 是會(huì)對body的html 語句展示其html 對應(yīng)的效果;
當(dāng)然也可以換另一種方式,實(shí)現(xiàn)類型mailto的客戶端發(fā)送郵件:
代碼如下:
function SendMail(filePath) {
var path = location.href.substring(0, location.href.lastIndexOf("/")) + filePath;
var outlookApp = new ActiveXObject("Outlook.Application");
var nameSpace = outlookApp.getNameSpace("MAPI");
var mailItem = outlookApp.CreateItem(0);
var mailto = "test@163.com ";
var mailBody= "<HTML><BODY><DIV><FONT color=‘red’>test this is body html</FONT></DIV></BODY></HTML>";
mailItem.Subject = "test title";
mailItem.To = mailto;
mailItem.HTMLBody = mailBody;
if (path != "") {
mailItem.Attachments.Add(path);
}
mailItem.Display(0);
mailItem = null;
nameSpace = null;
outlookApp = null;
}
但是這個(gè)有個(gè)很大的缺點(diǎn)是:僅僅支持outlook 客戶端,需要對Internet選項(xiàng)進(jìn)行配置,”對沒有標(biāo)記為安全的ActiveX控件進(jìn)行初始化和腳本運(yùn)行“要啟用。
其中調(diào)用mailItem的Attachments.Add是向郵件中添加附件,沒有附件的時(shí)候就可以把filePath這個(gè)參數(shù)刪掉。
如果需要添加抄送對象,可以調(diào)用mailItem.Cc,若是需要添加一個(gè)暗送對象可以調(diào)用mailItem.Bcc方法。