C# socket 抄送邮件

bigmingming 2014-10-31 04:46:57
请问用 socket开发邮件功能,如何实现抄送功能
...全文
192 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ppi_2859662359 2014-11-03
  • 打赏
  • 举报
回复
抄送邮件功能 //判断回复是否成功 public void hf() { bool issend = false; string receiver = this.TxtReceive.Text; //获取收件人地址 string[] receivers = receiver.Split(','); // 把多个收件人地址以","为分隔符拆分为数组 string receiverAdr = ""; //存储收件人邮件 string subject="邮件自动回复成功!"; string body = "恭喜你!邮件发送成功!"; for (int i = 0; i < receivers.Length; i++) { receiverAdr = receivers[i]; //调用自定义方法并传送相应信息,(发件人地址,收件人地址,标题,内容,服务器名) issend = sendEmail(receiverAdr,TextSender.Text.Trim() , subject, body, TxtServer.Text.Trim()); }//codego.net/tags/11/1/ // 判断是否回复成功,成功的话判断是否回复的多条,是多条提示回复多条成功,否则提示回复邮件成功 if (issend) { if (receivers.Length > 1) { this.Lbltishi.Text = "自动回复成功,你邮箱里有多条邮件未读!"; } else { this.Lbltishi.Text = "自动回复成功,你邮箱里有1条邮件未读!"; } } else { this.Lbltishi.Text = "自动回复失败"; } } //记录发件人地址、邮件标题和服务器名称等判断发送与否 /// 自定义方法用来发送邮件 /// </summary> /// <param name="Sender">发件人地址</param> /// <param name="Receiver">收件人地址</param> /// <param name="Subject">邮件标题</param> /// <param name="Content">邮件内容</param> /// <param name="server">服务器名</param> /// <returns>返回一个布尔值,如果返回True表示发送成功!否则为false</returns> public bool sendEmail(string Sender, string Receiver, string Subject, string Content, string server) { int sunEmail = 0; jmail.MessageClass myJmail = new jmail.MessageClass(); myJmail.Charset = "GB2312"; //设置使用的邮件字符集,默认US-ASCII 中国则为GB2312 myJmail.ISOEncodeHeaders = false; //邮件头是否使用iso-8859-1编码 默认值为true; myJmail.From = Sender; //返回或设置发件人的地址 myJmail.Subject = Subject;  //邮件的主题(标题) myJmail.AddRecipient(Receiver, "", ""); //添加收件人 if (FileUp.PostedFile.ContentLength != 0) { string filePath = FileUp.PostedFile.FileName; myJmail.AddAttachment(@filePath,false,""); //添加一个附件 } myJmail.Body = Content; //邮件的正文 return myJmail.Send(server, true);//发送邮件 } //记录收件人地址、标题、服务器名称判断发送是否成功 protected void ImgBtnSend_Click(object sender, ImageClickEventArgs e) { bool issend = false; string receiver = TxtReceive.Text; //获取收件人地址 string[] receivers = receiver.Split(','); // 把多个收件人地址以","为分隔符拆分为数组 string receiverAdr = ""; //存储收件人邮件 for (int i = 0; i < receivers.Length; i++) { receiverAdr = receivers[i]; //调用自定义方法并传送相应信息,(发件人地址,收件人地址,标题,内容,服务器名) issend = sendEmail(TextSender.Text.Trim(), receiverAdr, TextSubject.Text.Trim(), TextContent.Text.Trim(), TxtServer.Text.Trim()); } //判断是否发送成功,成功的话判断是否发送的多条,是多条提示发送多条成功,否则提示发送邮件成功 if (issend) { if (receivers.Length > 1) { Page.RegisterStartupScript("rty", "<script>alert('恭喜您!发送多条邮件成功!');location='sendOutEmail.aspx'</script>"); } else { Page.RegisterStartupScript("rty", "<script>alert('恭喜您!发送邮件成功!');location='sendOutEmail.aspx'</script>"); } this.hf(); } else { Page.RegisterStartupScript("failing", "<script>alert('很遗憾!发送失败!');location='sendOutEmail.aspx'</script>"); } }//其他设置字符关系不再赘述!
by_封爱 版主 2014-11-03
  • 打赏
  • 举报
回复
先别说抄送...你用socket实现了发送邮件么? 如何实现的... 你别告诉我 你把一大堆文字 转换byte发送到服务器 然后你服务器在做一个server接收 然后反序列化. 然后还是using system.net.mail 这多没意思...
bigmingming 2014-11-03
  • 打赏
  • 举报
回复
谢谢,顶一下
layershow 2014-10-31
  • 打赏
  • 举报
回复
说的还是有点含糊,socket 只是数据的收发,你这个应该不是私有协议吧?不管如何最终你还是要涉及到 SMTP 协议,所以,要读一下 SMTP 协议的内容,话说 C# 中已经有了 SMTP 的类?

110,529

社区成员

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

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

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