为了账号安全,请及时绑定邮箱和手机立即绑定

您好,使用C# 如何编写一个发送邮件程序呢?

您好,使用C# 如何编写一个发送邮件程序呢?

C# C
慕勒3428872 2021-11-11 11:07:18
这是代码MailMessage msg = new MailMessage();msg.To.Add("b@b.com");msg.CC.Add("c@c.com");msg.From = new MailAddress("a@a.com", "AA", System.Text.Encoding.UTF8);msg.Subject = "这是测试邮件";msg.SubjectEncoding = System.Text.Encoding.UTF8; msg.Body = "邮件内容";msg.BodyEncoding = System.Text.Encoding.UTF8;msg.IsBodyHtml = false;msg.Priority = MailPriority.High; SmtpClient client = new SmtpClient();client.Host = "localhost";object userState = msg;try{client.SendAsync(msg, userState);//client.Send(msg); MessageBox.Show("发送成功");}catch (System.Net.Mail.SmtpException ex){MessageBox.Show(ex.Message, "发送邮件出错");}为什么我使用client.SendAsync(msg, userState);的时候会报成功,但是邮箱不会收到邮件?使用client.Send(msg); 的时候就报失败,说是无法连接到远程服务器我的本意是使用企业内部的服务器给员工发送这些邮件。是不是需要做什么设置?还是我有写错什么东西了
查看完整描述

2 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

 SendAsync 这个方法是异步的。不可能报错的。 我给你个例子吧 刚好我最近也在写。
SmtpClient smtp = new SmtpClient();
MailMessage mm = new MailMessage();
smtp.Host = "smtp.163.com";//这里填你自己用的邮箱的 服务器。163的就是这个。 qq 的是 smtp。qq。com 其他的 要自己去查
smtp.Port = 25;
smtp.Credentials = new System.Net.NetworkCredential("用户名", "密码");
mm.Body = ConvertXMLString.BuilderToXML(bParam.SendMsg);
mm.Subject = "你好";
MailAddress ma = new MailAddress(收件人地址);

mm.To.Add(ma);
mm.From = new MailAddress("你自己的邮箱");
smtp.Send(mm);

查看完整回答
反对 回复 2021-11-14
?
BIG阳

TA贡献1859条经验 获得超6个赞

private void send_Click(object sender, System.EventArgs e) { string ServerStr ="mail.china.com"; try { SmtpMail.SmtpServer = ServerStr; MailMessage aMessage = new MailMessage ( ) ; //新建一个MailMessage对象 aMessage.From = TBfrom.Text ; //定义发信人地址,如果是多人,可以用","分开 aMessage.To = LBto.Text ; //定义收信人地址,如果是多人,可以用","分开 aMessage.Cc = CCTextBox.Text ; //定义抄送人地址,如果是多人,可以用","分开 aMessage.Bcc = BCCTextBox.Text ; //定义暗送人地址,如果是多人,可以用","分开 aMessage.Subject = SubjectTextBox.Text ; //定义邮件的主题 aMessage.Body = TBbody.Text ; //定义邮件的内容 if ( AttachmentTextBox.Text.Length > 0 ) aMessage.Attachments.Add ( new MailAttachment ( AttachmentTextBox.Text.Trim() , MailEncoding.Base64 ) ) ; //给邮件增加一个附件 SmtpMail.Send ( aMessage ) ; Response.Write("<Script language=javaScript>alert('电子邮件已经发送到-> + LBto.Text !');</Script>"); } catch ( Exception ex ) { Response.Write("<Script language=javaScript>alert('发送失败!');</Script>"); } } /////////////////////////////////////// 添加附件按钮代码 private void BTNadd_Click(object sender, System.EventArgs e) { AttachmentTextBoxa.Items.Add(Fadd.Value); AttachmentTextBox.Text=Fadd.Value; }

查看完整回答
反对 回复 2021-11-14
  • 2 回答
  • 0 关注
  • 271 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信