最近因为项目需要,研究了一下邮件的发送和接收,发现现在这方面的问题很多.虽然网上这方面的资料很多,但是真正应用起来
仍然会发现不少问题,而且很多人都抱怨书上或者网上的一些代码应用起来是失败的,并且针对附件方面的处理不太完善,针对这种情况我把最近研究所得做一个小小的总结,希望能对大家有所帮助。
        首先来谈谈发送邮件的问题。

       发送邮件现在应用得最多的两种情况就是利用.NET自带的发送邮件和利用jmail组件来发送邮件。
       .NET自带的邮件发送利用了System.Web.Mail.MailMessage这个类,这是在VS2003的情况下,在VS2005下更多的是利用System.Net.Mail.MailMessage,下面的例子是在VS2003的情况下写的,请在应用的时候自己替换掉里面的参数。

      

关于.NET邮件的收发问题总结(带附件)            string SendTos=SendTo.Text.Trim();  //发送人
关于.NET邮件的收发问题总结(带附件)
            string CcTos=CcTo.Text.Trim();      //抄送人
关于.NET邮件的收发问题总结(带附件)
            string[] Receiver=System.Text.RegularExpressions.Regex.Split(SendTos+CcTos,",");  //总收件人
关于.NET邮件的收发问题总结(带附件)
            string FromMail="ustbwuyi1@163.com";//发件人
关于.NET邮件的收发问题总结(带附件)
            string Title="你好"//邮件主题
关于.NET邮件的收发问题总结(带附件)
            string Body="附件里重要文档,请查收!";   //邮件主体
关于.NET邮件的收发问题总结(带附件)
            string ShowName="ustbwuyi";//显示名字
关于.NET邮件的收发问题总结(带附件)

关于.NET邮件的收发问题总结(带附件)            
if(SendTos!="" || CcTos!="")

 
      上面的例子是利用163的SMTP邮件服务器来发送邮件,当然,如果你有自己的邮件服务器更好。


      其次,是利用jmail组件来发送,现在jmail组件的版本很多,在这里我个人推荐jmail4.4pro版本,因为如果你要收邮件的话,必须用pro版本,另外,个人经过测试了其它几个版本,发现只有这个版本不会出现附件丢失的情况,其他几个版本都会出现附件丢失或者损坏的情况,这个对txt文件来说没有影响,但是对于传送图片或者其他的一些压缩文件,会发现从pop服务器上下过来的附件有一些损坏,从而不能正常打开文件。下面是jmail发送邮件的代码。
     

关于.NET邮件的收发问题总结(带附件)jmail.MessageClass MyMail = new jmail.MessageClass();
关于.NET邮件的收发问题总结(带附件)
关于.NET邮件的收发问题总结(带附件)            
string SendTos=SendTo.Text.Trim();  //发送人

关于.NET邮件的收发问题总结(带附件)
            string CcTos=CcTo.Text.Trim();      //抄送人
关于.NET邮件的收发问题总结(带附件)
            string[] Receiver=System.Text.RegularExpressions.Regex.Split(SendTos+CcTos,",");  //总收件人
关于.NET邮件的收发问题总结(带附件)
            string FromMail="ustbwuyi1@163.com";//发件人
关于.NET邮件的收发问题总结(带附件)
            string Title="你好"//邮件主题
关于.NET邮件的收发问题总结(带附件)
            string Body="附件里是重要文档,请查收!";   //邮件主体
关于.NET邮件的收发问题总结(带附件)
            string ShowName="ustbwuyi";//显示名字
关于.NET邮件的收发问题总结(带附件)            
//取email的@前面部分为用户名,即ustbwuyi1,当然也可以自己设置.

关于.NET邮件的收发问题总结(带附件)
            string MailUserName=FromMail.Substring(0,FromMail.IndexOf("@"));
关于.NET邮件的收发问题总结(带附件)            
string MailPassword="ustbwuyi"
;
关于.NET邮件的收发问题总结(带附件)            
if(SendTos!="" || CcTos!=""
)
            }


       好了,现在我们来看看接收邮件的问题。一般来说,接收邮件主要分为两部分,一是将接收到的邮件的信息保存到数据库,如邮件的
主题,内容,发送人,发送时间等。其次是对邮件附件的处理,主要将邮件附件从POP服务器上下载下来并保存到数据库,然后将附件
信息保存到数据库,如附件的路径,附件对应的邮件编号等信息。这一点.NET自带的似乎并不太好处理,没有jmail组件处理方便,
当然关于.NET自带的我并没有深入研究,个人经过比较还是推荐jmail,当然前面说过关于jmail几个版本在这方面的差异,所以个人
还是推荐jmail4.4pro版本。下面是收邮件的代码:

 

关于.NET邮件的收发问题总结(带附件)    public void ReceiveMails(string Username)

        至于将邮件信息和附件信息如何存入数据库,就看你自己对表的设计了,我就不多说了,经过上面就可以完全将你POP服务器上的
邮件完全接收到你的本地了。

相关文章:

  • 2021-10-20
  • 2021-07-13
  • 2022-01-13
  • 2022-12-23
  • 2021-04-16
  • 2022-12-23
猜你喜欢
  • 2022-02-19
  • 2021-12-01
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-25
相关资源
相似解决方案