问题 用尚易的stmp给尚易的邮箱发邮件 附件会变成bin文件。。。 我用qq的stmp给尚易的发附件就没问题。。求详解求解决方案
代码如下
public void te(string shoujianren,string wenjian , string chaosong)
{
// openFileDialog1.ShowDialog();
MailAddress from = new MailAddress("guoqiyang@asiastartelecom.com", "。。。"); //邮件的发件人
MailMessage mail = new MailMessage();
//设置邮件的标题
mail.Subject = "测试";
//设置邮件的发件人
//Pass:如果不想显示自己的邮箱地址,这里可以填符合mail格式的任意名称,真正发mail的用户不在这里设定,这个仅仅只做显示用
mail.From = from;
mail.To.Add(shoujianren);
//设置邮件的抄送收件人
//这个就简单多了,如果不想快点下岗重要文件还是CC一份给领导比较好
if (chaosong != "")
{
mail.CC.Add(new MailAddress(chaosong, " "));
}
//设置邮件的内容
mail.Body = "内容测试";
//设置邮件的格式
mail.BodyEncoding = System.Text.Encoding.UTF8;
mail.IsBodyHtml = true;
//设置邮件的发送级别
mail.Priority = MailPriority.Normal;
//设置邮件的附件,将在客户端选择的附件先上传到服务器保存一个,然后加入到mail中
// string fileName = saveFileDialog1.PostedFile.FileName.Trim();
// string fileName = openFileDialog1.FileName.Trim();
// fileName =@"D:\UpFile\" + fileName.Substring(fileName.LastIndexOf(@"\") + 1);
// saveFileDialog1.PostedFile.SaveAs(fileName); // 将文件保存至服务器
MessageBox.Show(wenjian);
mail.Attachments.Add(new Attachment(wenjian));
mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess;
SmtpClient client = new SmtpClient();
//设置用于 SMTP 事务的主机的名称,填IP地址也可以了
client.Host = "smtp.corpease.net";
//设置用于 SMTP 事务的端口,默认的是 25
client.Port = 25;
client.UseDefaultCredentials = false;
//这里才是真正的邮箱登陆名和密码,比如我的邮箱地址是 hbgx@hotmail, 我的用户名为 hbgx ,我的密码是 xgbh
client.Credentials = new System.Net.NetworkCredential("guoqiyang@asiastartelecom.com", "******");
client.DeliveryMethod = SmtpDeliveryMethod.Network;
//都定义完了,正式发送了,很是简单吧!
client.Send(mail);
}
需要设置jvm参数:-Dmail.mime.splitlongparameters=false