再论使用.net通过SMTP发送邮件

 

  现在做的项目需要用到邮件的接发,写的用.net通过POP3收邮件的程序一直没有问题,但是通过SMTP发邮件的程序一直无法成功,今天才知道原来.net自带的发送邮件的库是如此的垃圾。不管是System.Web.Mai还是原来老的System.Net.Mail里面的库,在发送邮件给Tom.com的时候都会被服务器当作垃圾邮件发送程序给屏蔽掉。不仅如此,在公司电脑上运行的时候甚至会被Mcafee当成邮件蠕虫病毒给屏蔽掉。

  以前需要用到发邮件提醒的公司项目都是在Sharepoint下运行的,而现在这个项目决定绕开Sharepoint,直接做成B/S系统,因此邮件发送就不能用Sharepoint下面带的那套的东西。今天上网找了个.net下的开源的软件“OpenSMTP”,没有使用.net自带的System.Web.Mail库,可以通过Tom.com的SMTP服务器来发送邮件了,待明天回公司再试验下会被会被Mcafee或者公司服务器屏蔽掉。

 

  将OpenSmtp.dll的引用加入到项目中就可以使用OpenSmtp的库了,一下是一个简单的使用OpenSmtp发送邮件的程序:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using OpenSmtp.Mail;
  6. namespace sendmail
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             try
  13.             {
  14.                 string smtpHost = "smtp.tom.com";
  15.                 int smtpPort = 25;
  16.                 string senderEmail = "username@tom.com";
  17.                 string recipientEmail = "username@tom.com";
  18.                 string subject = "Subject";
  19.                 string body = "Body";
  20.                 MailMessage msg = new MailMessage(senderEmail, recipientEmail);
  21.                 msg.Subject = subject;
  22.                 msg.Body = body;
  23.                 Smtp smtp = new Smtp(smtpHost, smtpPort);
  24.                 smtp.Username = "username";
  25.                 smtp.Password = "password";
  26.                 smtp.SendMail(msg);
  27.                 Console.WriteLine("发送成功");
  28.                 Console.ReadLine();
  29.             }
  30.             catch (Exception e)
  31.             {
  32.                 Console.WriteLine(e.StackTrace);
  33.                 Console.ReadLine();
  34.             }
  35.         }
  36.     }
  37. }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值