用System.Net.Mail发送邮件

最近有不少朋友询问关于如何在.NET 2.0中发送邮件的问题,这里写一个简单的例子供朋友参考。

MSDN参考(点击查看MSDN的中英文对照):
            SmtpClient(http://msdn2.microsoft.com/zh-cn/library/system.net.mail.smtpclient(VS.80).aspx)
            MailMessage(http://msdn2.microsoft.com/zh-cn/library/system.net.mail.mailmessage(VS.80).aspx)

下面是一段简单的发邮件代码(控制台程序):
using System;
using System.Collections.Generic;
using System.Text;

using System.Net.Mail;

namespace MailSender
{
    
class Program
    
{
        
static string strHost = string.Empty;
        
static string strAccount = string.Empty;
        
static string strPwd = string.Empty;
        
static string strFrom = string.Empty;

        
static void Main(string[] args)
        
{
            strHost 
= "smtp.163.com";   //STMP服务器地址
            strAccount = "jailu";       //SMTP服务帐号
            strPwd = "123456789";       //SMTP服务密码
            strFrom = "jailu@163.com";  //发送方邮件地址

            Console.WriteLine(sendMail(
"jailu@qq.com""这是一封测试邮件""这是一封测试邮件的正文内容"? "Success" : "Unsuccess");

            Console.ReadLine();
        }


        
/// <summary>
        
/// 发送邮件
        
/// </summary>
        
/// <param name="to">接收方邮件地址</param>
        
/// <param name="title">邮件标题</param>
        
/// <param name="content">邮件正文内容</param>
        
/// <returns></returns>
        
/// <author>Jailu</author>
        
/// <date>2007-04-10</date>

        static bool sendMail(string to, string title, string content)
        
{
            SmtpClient _smtpClient 
= new SmtpClient();
            _smtpClient.DeliveryMethod 
= SmtpDeliveryMethod.Network;//指定电子邮件发送方式
            _smtpClient.Host = strHost; ;//指定SMTP服务器
            _smtpClient.Credentials = new System.Net.NetworkCredential(strAccount, strPwd);//用户名和密码

            MailMessage _mailMessage 
= new MailMessage(strFrom,to);
            _mailMessage.Subject 
= title;//主题
            _mailMessage.Body = content;//内容
            _mailMessage.BodyEncoding = System.Text.Encoding.UTF8;//正文编码
            _mailMessage.IsBodyHtml = true;//设置为HTML格式
            _mailMessage.Priority = MailPriority.High;//优先级

            
try
            
{
                _smtpClient.Send(_mailMessage);
                
return true;
            }

            
catch
            
{
                
return false;
            }

        }

    }

}

posted @ 2007-04-10 13:54 jailu 阅读(2476) 评论(10)  编辑 收藏 所属分类: C#

  回复  引用  查看    
#1楼 2007-10-27 13:39 | jay tian      
这个程序在我机器上怎么无法运行!
  回复  引用  查看    
#2楼 2007-10-27 13:45 | jay tian      
找到原因了,是SMTP服务器用户名格式错误: 正确为***@163.com.
  回复  引用  查看    
#3楼 [楼主]2007-10-27 13:47 | jailu      
实际运用中,一般把SMTP信息保存在Web.Config文件中
  回复  引用  查看    
#4楼 2007-11-19 13:56 | WoW      
如果发送图片呢。。内容包括图片。。图片路径怎么设置?
  回复  引用  查看    
#5楼 2008-04-22 17:01 | 冰冰鱼      
我也没有发送成功
  回复  引用  查看    
#6楼 2008-04-25 13:18 | 鹏鹏_Lovely      
有人说爱一个人很累,的确是,因为你想为他承担,可是爱与喜欢相比最大的魅力就在于, 当你和爱的人在一起时,你的感觉就像回家了

  回复  引用    
#7楼 2008-07-01 08:42 | 杨赫 [未注册用户]
你好。我遇到一个问题。我要发邮件的SMTP服务器需要在发送邮件时再次身份验证。这样的话上面的会有个错误:“服务器不安全邮件”
  回复  引用    
#8楼 2008-07-04 12:02 | ypf8911@126.com [未注册用户]
班主任童老师,您能把制作的咱班通讯录给我发过来吗?假期愉快
  回复  引用    
#9楼 2008-08-02 12:03 | 恩 [未注册用户]
我的心情很复杂的哦,
  回复  引用    
#10楼 2008-08-11 18:09 | 刘子红 [未注册用户]
我是搞化工的技术人员,请问安装你们的锅炉,水煤浆的来源如何,能不能提供生产水煤浆的设备,技术,和水煤浆锅炉的价格?

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-04-10 13:58 编辑过


相关链接: