談html mailto(電子郵件)實際應用

字號:


    大家知道,mailto是網(wǎng)頁設計制作中的一個非常實用的html標簽,許多擁有個人網(wǎng)頁的朋友都喜歡在網(wǎng)站的醒目位置處寫上自己的電子郵件地址,當點擊時就能自動打開當前計算機系統(tǒng)中默認的電子郵件客戶端軟件,對于能夠聯(lián)系到我們很有幫助
    大家知道,mailto是網(wǎng)頁設計制作中的一個非常實用的html標簽,許多擁有個人網(wǎng)頁的朋友都喜歡在網(wǎng)站的醒目位置處寫上自己的電子郵件地址,這樣網(wǎng)頁瀏覽者一旦用鼠標單擊一下由mailto組成的超級連接后,就能自動打開當前計算機系統(tǒng)中默認的電子郵件客戶端軟件,例如OutLook Express以及Foxmail等。
    但是由于各操作系統(tǒng)和郵件客戶端對 mailto 事件連接的處理不一致,所以在實際應用的時候需要注意;
    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的簡單語法應用;但在實際應用中 根據(jù)瀏覽器設置的瀏覽器客戶端不同,會有不用效果;
    尤其是在body 內(nèi)容包含html 格式的語句時候,這時候需要注意;
    outlook 是對body 的html 語句原樣展示(對body的html 進行 escape 后也是同樣的無效),那么我們在outlook mailto 時候想body 里面的語句換行怎么辦 呢?<br/> 是沒有效果的。。需要用 %0D 字符作為換行符號;
    foxmail 是會對body的html 語句展示其html 對應的效果;
    當然也可以換另一種方式,實現(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;
    }
    但是這個有個很大的缺點是:僅僅支持outlook 客戶端,需要對Internet選項進行配置,”對沒有標記為安全的ActiveX控件進行初始化和腳本運行“要啟用。
    其中調(diào)用mailItem的Attachments.Add是向郵件中添加附件,沒有附件的時候就可以把filePath這個參數(shù)刪掉。
    如果需要添加抄送對象,可以調(diào)用mailItem.Cc,若是需要添加一個暗送對象可以調(diào)用mailItem.Bcc方法。