这是第三贴了,帮帮忙吧!谢谢了

wx8849 2011-06-30 06:12:42

jmail.POP3Class popMail = new POP3Class();//建立收邮件对象
jmail.Message mailMessage; //建立邮件信息接口
jmail.Attachments atts;//建立附件集接口
jmail.Attachment att;//建立附件接口

string sendmail = string.Empty;
string sender = string.Empty;
string subject = string.Empty;
string body = string.Empty;
string Count = string.Empty;
try
{
popMail.Connect("120677921@qq.com", "*******", "pop.qq.com", 110);

if (0 < popMail.Count) //如果收到邮件
{
for (int i = 1; i <= popMail.Count; i++) //根据取到的邮件数量依次取得每封邮件
{
mailMessage = popMail.Messages[i]; //取得一条邮件信息
atts = mailMessage.Attachments; //取得该邮件的附件集合
mailMessage.Charset = "GB2312"; //设置邮件的编码方式
mailMessage.Encoding = "Base64"; //设置邮件的附件编码方式
mailMessage.ISOEncodeHeaders = false; //是否将信头编码成iso-8859-1字符集
//txtpriority.Text = mailMessage.Priority.ToString(); //邮件的优先级
sendmail = mailMessage.From; //邮件的发送人的信箱地址
sender = mailMessage.FromName; //邮件的发送人
subject = mailMessage.Headers.GetHeader(mailMessage.Subject); //邮件主题
body = mailMessage.Body; //邮件内容
//txtSize.Text = mailMessage.Size.ToString(); //邮件大小

for (int j = 0; j < atts.Count; j++)
{
att = atts[j]; //取得附件
string attname = att.Name; //附件名称

att.SaveToFile("e:\\attFile\\" + attname); //上传到服务器

}

}
Count += sendmail + "<br>" + sender + "<br>" + subject + "<br>" + body + "<br><br><br><br><br>";
//panMailInfo.Visible = true;
att = null;
atts = null;
Response.Write(Count);
}
else
{
Response.Write("没有新邮件!");
}

popMail.DeleteMessages();
popMail.Disconnect();
popMail = null;
}
catch
{
Response.Write("Warning!请检查邮件服务器的设置是否正确!");
}




收到的全部是乱码
...全文
227 42 打赏 收藏 转发到动态 举报
写回复
用AI写文章
42 条回复
切换为时间正序
请发表友善的回复…
发表回复
wszhoho 2011-07-01
  • 打赏
  • 举报
回复
public static bool SendMailByJmail(string FromEmail, string SendTo, string SmtpServer, string UserName, string Password, string EmailTitle, string MailBody)
{
/**/
///建立发邮件类
jmail.MessageClass oJmailMessage = new jmail.MessageClass();

/**/
/// 字符集
oJmailMessage.Charset = "utf-8";

/**/
///附件的编码格式
oJmailMessage.Encoding = "BASE64";
oJmailMessage.ContentType = "text/html";

/**/
///是否将信头编码成iso-8859-1字符集
oJmailMessage.ISOEncodeHeaders = false;

/**/
/// 优先级
oJmailMessage.Priority = Convert.ToByte(1);

/**/
///发送人邮件地址
oJmailMessage.From = FromEmail;

/**/
///发送人姓名
oJmailMessage.FromName = "";
/**/
/// 邮件主题
oJmailMessage.Subject = EmailTitle;
/**/
///身份验证的用户名
oJmailMessage.MailServerUserName = UserName;

/**/
///用户密码
oJmailMessage.MailServerPassWord = Password;

/**/
///添加一个收件人,抄送人和密送人的添加和该方法是一样的,只是分别使用AddRecipientCC和RecipientBCC两个属性
///要是需要添加多个收件人,则重复下面的语句即可。添加多个抄送和密送人的方法一样
oJmailMessage.AddRecipient(SendTo, "", "");

/**/
///邮件内容
oJmailMessage.Body = MailBody;
bool result = false;
try
{
result = oJmailMessage.Send(SmtpServer, false);
}
catch
{

}

oJmailMessage = null;

return result;
}
a9A9290632 2011-07-01
  • 打赏
  • 举报
回复
接分。。。。。。。。
wx8849 2011-07-01
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 yue547283947 的回复:]
oMail.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312");
[/Quote]
jmail没有这个bodyencoding属性啊
yue547283947 2011-07-01
  • 打赏
  • 举报
回复
oMail.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312");
小阳 2011-07-01
  • 打赏
  • 举报
回复
在web.config当中配置一下,<gloab..../>啥的
wx8849 2011-07-01
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 yue547283947 的回复:]
mailMessage.Charset = "GB2312"; //设置邮件的编码方式
mailMessage.Encoding = "Base64";

是不是这样写不对哦?
[/Quote]
那应该怎么写?我改utf-8也不行,现在是QQ邮箱发送的邮件收到全部是乱码
yue547283947 2011-07-01
  • 打赏
  • 举报
回复
mailMessage.Charset = "GB2312"; //设置邮件的编码方式
mailMessage.Encoding = "Base64";

是不是这样写不对哦?
wx8849 2011-07-01
  • 打赏
  • 举报
回复
来人呀~
wx8849 2011-07-01
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 z405158579 的回复:]
字符码问题 改成gb2312 还有推荐用 gmail或者fmail
[/Quote]
我的就是gb2312,项目决定用jmail,所以其他第三方不考虑
z405158579 2011-07-01
  • 打赏
  • 举报
回复
字符码问题 改成gb2312 还有推荐用 gmail或者fmail
wx8849 2011-07-01
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 fengyarongaa 的回复:]
QQ 本来最开始是不支持发邮件的
现在不知道怎么支持了
[/Quote]

现在收QQ发送的邮件全部是乱码~谁有解决的方案啊,最好是成功的案列,我已经发了三个帖子了
ycproc 2011-07-01
  • 打赏
  • 举报
回复
QQ 本来最开始是不支持发邮件的
现在不知道怎么支持了
SeanDing1989 2011-07-01
  • 打赏
  • 举报
回复

ISOEncodeHeaders = true;
真悲剧。。。目前好像jmail只有4.5版本解决了这个问题。 不知道有没有破解版。
风一样的大叔 2011-07-01
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 wx8849 的回复:]
就是QQ邮箱的不行,不知道为什么!
[/Quote]来学习的
wx8849 2011-07-01
  • 打赏
  • 举报
回复
就是QQ邮箱的不行,不知道为什么!
luojiankeji 2011-07-01
  • 打赏
  • 举报
回复
建议换个163 的邮箱 试试!
wx8849 2011-07-01
  • 打赏
  • 举报
回复
网易和yahoo发送过来的邮件获取到的就不是乱码~
wx8849 2011-07-01
  • 打赏
  • 举报
回复
[Quote=引用 39 楼 moonwrite 的回复:]
我前段时间用过Open POP
发现原来收取邮件不是那么简单的

可能有附件什么的

Open pop3 里面有个MessagePart MessagePart下面又有可能有很多MessagePart 类似树
我是遍历了 所有的MessagePart 然后判断是否为Text 或 HTML
如果是则取值 否就说明是附件什么的 (获取到如果是附件 那么一定是乱码了)

你还是下断点 ……
[/Quote]

我的是自己发的邮件没有附件,现在是QQ邮箱发送的邮件收取到全部是乱码
moonwrite 2011-07-01
  • 打赏
  • 举报
回复
我前段时间用过Open POP
发现原来收取邮件不是那么简单的

可能有附件什么的

Open pop3 里面有个MessagePart MessagePart下面又有可能有很多MessagePart 类似树
我是遍历了 所有的MessagePart 然后判断是否为Text 或 HTML
如果是则取值 否就说明是附件什么的 (获取到如果是附件 那么一定是乱码了)

你还是下断点 看看返回的整个邮件对象的结构把
wx8849 2011-07-01
  • 打赏
  • 举报
回复
我不是发邮件,而是从邮箱里面收邮件,能先看清楚在说么
加载更多回复(20)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧