程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> Jmail發送郵件與帶附件亂碼解決辦法分享

Jmail發送郵件與帶附件亂碼解決辦法分享

編輯:ASP.NET基礎

Jamil發送郵件的具體用法:

首先,我們要先下載Jamil.dll的組件,然後添加引用using jmail,然後再本機或者服務器上注冊一下

將jmail.dll拷貝到服務器的system32目錄下,開始-運行-cmd-輸入regsvr32 jmail.dll,注冊成功,然後寫代碼

代碼如下(方法)

復制代碼 代碼如下:
using jmail;
    protected void sendMail(String sender, String senderMail, String receiver, String subject, String content)
    {

        jmail.MessageClass jmMessage = new jmail.MessageClass();

        //設置字符集

        jmMessage.Charset = "gb2312";

        //發件人郵箱地址

        jmMessage.From = senderMail;

        //發件人姓名

        jmMessage.FromName = sender;

        //設置主題

        jmMessage.Subject = subject;

        //設置內容

        jmMessage.Body = content;

        // 設置收件人郵箱

        jmMessage.AddRecipient(receiver, "", "");

        // 設置登陸郵箱的用戶名和密碼

        jmMessage.MailServerUserName = "ss";

        jmMessage.MailServerPassWord = "ss";

        //設置smtp服務器地址

        if (jmMessage.Send("smtp.163.com", false))
        {

            Response.Write("<script>alert('發送成功')</script>");

        }

        else

            Response.Write("<script>alert('www.jb51.net發送失敗')</script>");

    }

上面就是Jmail的具體用法!

我想放一個附件如下
復制代碼 代碼如下:
jmail.AddAttachment(“c:autoexec.bat”)
jmail.AddAttachment(“myImage.gif”,TRUE)

結果出現如下錯誤

This is a multipart message in MIME format. —-NEXT_BM_AEB3968967D044DC9E208D04088C60B4 Content-Type: text/html; charset=”GB2312″ Content-Transfer-Encoding: Quoted-Printable sdfdd —-NEXT_BM_AEB3968967D044DC9E208D04088C60B4 Content-Type: application/octet-stream; name=”=?GB2312?Q?12d95384-576f-424f-bf15-f8e2397e2791=2EJPG?=” Content-Transfer-Encoding: base64 Content-Description: =?GB2312?Q?12d95384-576f-424f-bf15-f8e2397e2791=2EJPG?= Content-Disposition: inline; filename=”=?GB2312?Q?12d95384-576f-424f-bf15-f8e2397e2791=2EJPG?=” Content-ID:

網上找了解決方法:

復制代碼 代碼如下:
AddAttachment(FileName, isInline, ContentType) :

 String為郵件添加一個文件型的附件。如果Inline 屬性被設置為true,這個附件就是一個可嵌入的附件,使用addAttachment()方法可返回content id,這在發送HTML 郵件時是非常有用的。

例:

復制代碼 代碼如下:
jmail.AddAttachment(“c:autoexec.bat”)
jmail.AddAttachment(“myImage.gif”,TRUE)

可嵌入的附件

2.AddURLAttachment(bstrURL, bstrAttachAs, isInline, bstrAuth) : String從指定的URL 下載文件並添加為附件。第二個參數“AttachAs”用來更改添加為附件的文件的文件名,如果Inline 屬性被設置為true,這個附件就是一個可嵌入的附件,使用ddAttachment()方法可返回content id,這在發送HTML 郵件時是非常有用的。最後一個參數為可選項,是當服務器需要身份驗證時使用的。

復制代碼 代碼如下:
jmail.AddURLAttachment(“w3jmail4.exe”,”w3jmail4.exe”)
jmail.AddURLAttachment”w3jmail4.exe”, “w3jmail4.exe”,false, “myUserName:myPassword”)jmail.AddURLAttachment”dimaclogo.gif”,”dimaclogo.gif”,true )

測了一下,好像跟兩個方法沒什麼關系。後來在網上有人說把Message.ContentType =”text/html”設置去掉(就是不要去設置ContentType屬性),試了一下,還真發送成功了

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved