如题,
使用Jmail专业版的组件,发信,收信一切正常,添加了附件后,其他信息都可以收到,但邮件正文就不能收到,请指点!
代码如下:
------------------
private void ReciveByJmail()
{
String sFrom;
String sTo;
String sSubject;
String sContent;
String sTemp;
int intMailSize; jmail.POP3Class popMail = new jmail.POP3Class();
jmail.Message mailMessage;
jmail.Attachments atts;
jmail.Attachment att;
popMail.Connect(txtPuser.Text, txtPpass.Text, txtPop3.Text,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;
sFrom = mailMessage.From;
sSubject = mailMessage.Subject;
sContent = mailMessage.HTMLBody;
intMailSize = Convert.ToInt32(mailMessage.Size);
sTemp = "";
try
{
if (mailMessage.Attachments[0].Name != null)
{
sTemp = "[此邮件含有一个名为" + mailMessage.Attachments[0].Name+"的附件]";
mailMessage.Attachments[0].SaveToFile(Application.StartupPath+"\\" + mailMessage.Attachments[0].Name);
}
}catch(Exception em)
{}
att = null;
atts = null;
this.txtRecive.Text = this.txtRecive.Text + "\r\n第" + i + "封邮件:" + sTemp + "\r\n发信人:" + sFrom + "\r\n" + "主 题:" + sSubject + "\r\n" + "内 容:" + "\r\n" + sContent;
}
this.txtRecive.Text = "共 " + popMail.Count + " 封邮件\r\n-------------------------------\r\n"+this.txtRecive.Text;
}
else
{
MessageBox.Show("没有新邮件!");
}
popMail.DeleteMessages();
popMail.Disconnect();
popMail = null;
}
使用Jmail专业版的组件,发信,收信一切正常,添加了附件后,其他信息都可以收到,但邮件正文就不能收到,请指点!
代码如下:
------------------
private void ReciveByJmail()
{
String sFrom;
String sTo;
String sSubject;
String sContent;
String sTemp;
int intMailSize; jmail.POP3Class popMail = new jmail.POP3Class();
jmail.Message mailMessage;
jmail.Attachments atts;
jmail.Attachment att;
popMail.Connect(txtPuser.Text, txtPpass.Text, txtPop3.Text,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;
sFrom = mailMessage.From;
sSubject = mailMessage.Subject;
sContent = mailMessage.HTMLBody;
intMailSize = Convert.ToInt32(mailMessage.Size);
sTemp = "";
try
{
if (mailMessage.Attachments[0].Name != null)
{
sTemp = "[此邮件含有一个名为" + mailMessage.Attachments[0].Name+"的附件]";
mailMessage.Attachments[0].SaveToFile(Application.StartupPath+"\\" + mailMessage.Attachments[0].Name);
}
}catch(Exception em)
{}
att = null;
atts = null;
this.txtRecive.Text = this.txtRecive.Text + "\r\n第" + i + "封邮件:" + sTemp + "\r\n发信人:" + sFrom + "\r\n" + "主 题:" + sSubject + "\r\n" + "内 容:" + "\r\n" + sContent;
}
this.txtRecive.Text = "共 " + popMail.Count + " 封邮件\r\n-------------------------------\r\n"+this.txtRecive.Text;
}
else
{
MessageBox.Show("没有新邮件!");
}
popMail.DeleteMessages();
popMail.Disconnect();
popMail = null;
}
解决方案 »
- (急)WPF中TextBox的Binding问题
- win64位旗舰装sqlserver2008出现问题
- 急 !!!!!!! checkbox
- 求解决按钮点击复制
- 在线等- C#和Access做的项目怎么打包成安装文件的步骤,哪里有教程?
- 急求《VisualC#.NET应用教程》童爱红编著这本教材的ppt,很急啊,给学生上课,没有资料!多谢大家了!
- 读一段代码,最先解释满意的给全分结贴!!!在线等!!!!!
- =====>>>点击winform1中的按钮,刷新form2中的datagridview
- 如何解决动态属性,事件的绑定??急.!!!!
- System.Net.Dns.GetHostByAddress(string) 操作如何设置超时时间?
- 看似简单的问题
- 在哪可以下载C#.net的视频教程??快点分享一下^_^
去掉sContent = mailMessage.HTMLBody;
否则乱码
去掉sContent = mailMessage.HTMLBody;
否则乱码
------------------------------------
RE:如果去掉了这一项,邮件内容从哪读呢?根据我查阅相关资料,在发信时去掉.ContentType = "text/html";这个属性能去除带附件邮件乱问题,我就是这样做的,但就是没法显示正文
jmail.Message Jmail=new jmail.Message(); DateTime t=DateTime.Now;
String Subject=" Testing JMail";
String FromEmail="*****@sohu.com";
String ToEmail="[email protected]";
Jmail.Silent=true;
Jmail.Logging=true;
Jmail.Charset="GB2312";
Jmail.ContentType="text/html";
Jmail.AddRecipient(ToEmail,"","");
Jmail.From=FromEmail;
Jmail.MailServerUserName="****" ;
Jmail.MailServerPassWord="****" ;
Jmail.Subject=Subject;
//多附件的话,可以多加Jmail.AddAttachment
Jmail.AddAttachment( "c:\\test.jpg",true,null);
Jmail.Body=body+t.ToString();
Jmail.Send("smtp.163.com",false);
Jmail.Close() ;
jedliu(21世纪什么最贵? 人才!)我就是按你这个方法发的,只不过做了个判断,没有附件时就加上Jmail.ContentType="text/html";
有就不加,不然有乱码
-------------
取内容时,
无附件时使用:
sContent = mailMessage.HTMLBody;
有附件时使用:
sContent = mailMessage.Body;
--------------
揭贴!