发送邮件程序碰到的问题

randee_luo 2011-01-14 05:46:46
各位大侠们呐. .我在c#里写了个发送邮件的程序.. 为什么里面的中文会当成乱码发送啊.. 帮帮忙啊.
...全文
132 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
s8975565 2011-01-17
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 s8975565 的回复:]
2楼够详细了……
[/Quote]
不过一般用UTF-8好点
s8975565 2011-01-17
  • 打赏
  • 举报
回复
2楼够详细了……
sardineany 2011-01-17
  • 打赏
  • 举报
回复
MailAddress from = new MailAddress("070812041@163.com", "东东");          //邮件的发件人,后面为显示的名字
MailMessage mail = new MailMessage();
mail.Subject = txtSubject.Text; //设置邮件的标题
mail.From = from; //设置邮件的发件人

//多人发送
string address = "";
string displayName = "";
string[] mailNames = (txtMailTo.Text + ";").Split(';');
foreach (string name in mailNames)
{
if (name != string.Empty)
{
if (name.IndexOf('<') > 0)
{
displayName = name.Substring(0, name.IndexOf('<'));
address = name.Substring(name.IndexOf('<') + 1).Replace('>', ' ');
}
else
{
displayName = string.Empty;
address = name.Substring(name.IndexOf('<') + 1).Replace('>', ' ');
}
// mail.To.Add(new MailAddress(address, displayName));
mail.CC.Add(new MailAddress(address, displayName)); //收件人地址的集合
}

}

mail.Body = txtBody.Text; //设置邮件的内容
mail.BodyEncoding = System.Text.Encoding.UTF8; //设置邮件的格式
mail.IsBodyHtml = true; //设置正文是否为HTML格式
mail.Priority = MailPriority.Normal; //设置邮件的发送级别
if (txtMailTo.Text != "")
{
string fileName = txtUpFile.Text.Trim(); //设置邮件的附件
fileName = fileName.Substring(fileName.LastIndexOf("\\") + 1); //取文件名
mail.Attachments.Add(new Attachment(fileName)); //添加附件到邮件当中
}
mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess;
SmtpClient client = new SmtpClient();
client.Host = "smtp.163.com"; //设置SMTP的地址,注意:是什么邮箱就应该用相对应的地址
client.Port = 25; //设置用于 SMTP 事务的端口,默认的是 25
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("*****", "*****");//我的邮箱的登录名和密码。就是发送方的用户名和密码,要对应上面的Host地址
client.DeliveryMethod = SmtpDeliveryMethod.Network;

client.Send(mail); //邮件的正式发送
MessageBox.Show("发送成功");
}

private void btn_send_Click(object sender, EventArgs e)
{
sendMail();
}
bustersword 2011-01-17
  • 打赏
  • 举报
回复
那就结分吧兄弟17号了
randee_luo 2011-01-14
  • 打赏
  • 举报
回复
泪流满面呐。 搞了好久。。终于有人理我了
bustersword 2011-01-14
  • 打赏
  • 举报
回复
string to = toemail;
string from = "xxx@xx.com";
string subject = "subject.";
string body = @""+strbody ;
//MailMessage 类的实例用于构造可使用 SmtpClient 类传输到 SMTP 服务器以便传递的电子邮件。
MailMessage message = new MailMessage(from, to, subject, body);

//SmtpClient 类用于将电子邮件发送到 SMTP 服务器以便传递
SmtpClient client = new SmtpClient(ip,25);
message.BodyEncoding = System.Text.Encoding.UTF8;//注意这里
message.SubjectEncoding = System.Text.Encoding.UTF8;

// Set the method that is called back when the send operation ends.
client.SendCompleted += new
SendCompletedEventHandler(SendCompletedCallback);

string userState = "send message";
client.SendAsync(message, userState);
whowhen21 2011-01-14
  • 打赏
  • 举报
回复
编码问题吧~!设置编码

msg.SubjectEncoding = Encoding.GetEncoding("GB2312");//确定的编码格式
msg.BodyEncoding = Encoding.GetEncoding("GB2312");
//msg为MailMessage
*************************************************
本内容使用CSDN 小秘书回复
看帖回帖,发帖也要结贴哦!
*************************************************
randee_luo 2011-01-14
  • 打赏
  • 举报
回复
自己顶下。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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