Jmail发送邮件与带附件乱码解决办法

时间:2023-03-08 15:43:43
Jmail发送邮件与带附件乱码解决办法

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.111cn.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属性),试了一下,还真发送成功了

更多详细内容请查看:http://www.111cn.net/net/net/46759.htm