邮件发送在网站应用程序中经常会用到,包括您现在看到的博客,在添加评论后,系统会自动发送邮件通知到我邮箱的,把系统发送邮件的功能整理了下,做了一个客户端Demo,希望对有需要的童鞋有所帮助:
核心代码:
001
|
using System;
|
002
|
using System.Net;
|
003
|
using System.Net.Mail;
|
004
|
using System.Text;
|
005
|
006
|
namespace HC.Email
|
007
|
{
|
008
|
///
|
009
|
///
|
010
|
///
|
011
|
public class EmailService
|
012
|
{
|
013
|
///
|
014
|
///
|
015
|
///
|
016
|
///
|
017
|
///
|
018
|
///
|
019
|
///
|
020
|
public static bool Send( string mailTo, string subject, string body)
|
021
|
{
|
022
|
return Send( new [] null , true , null );
|
023
|
}
|
024
|
025
|
///
|
026
|
///
|
027
|
///
|
028
|
///
|
029
|
///
|
030
|
///
|
031
|
///
|
032
|
public static bool Send( string [] string subject, string body)
|
033
|
{
|
034
|
return Send(mailTo, null , true , null );
|
035
|
}
|
036
|
037
|
///
|
038
|
///
|
039
|
///
|
040
|
///
|
041
|
///
|
042
|
///
|
043
|
///
|
044
|
///
|
045
|
public static bool Send( string [] string subject, string body, string []
|
046
|
{
|
047
|
return Send(mailTo, null , true ,
|
048
|
}
|
049
|
050
|
051
|
///
|
052
|
///
|
053
|
///
|
054
|
///
|
055
|
///
|
056
|
///
|
057
|
///
|
058
|
///
|
059
|
///
|
060
|
///
|
061
|
public static bool Send( string [] string [] string subject, string body, bool isBodyHtml,
|
062
|
string []
|
063
|
{
|
064
|
try
|
065
|
{
|
066
|
var
|
067
|
if ( string .IsNullOrEmpty(config.Host) string .IsNullOrEmpty(config.UserName)
|
068
|
string .IsNullOrEmpty(config.Port) string .IsNullOrEmpty(config.Password))
|
069
|
{
|
070
|
//todo:记录日志
|
071
|
return false ;
|
072
|
}
|
073
|
var new MailAddress(config.MailFrom); //使用指定的邮件地址初始化MailAddress实例
|
074
|
var new MailMessage(); //初始化MailMessage实例
|
075
|
//向收件人地址集合添加邮件地址
|
076
|
if (mailTo null )
|
077
|
{
|
078
|
foreach ( string t in mailTo)
|
079
|
{
|
080
|
message.To.Add(t);
|
081
|
}
|
082
|
}
|
083
|
084
|
//向抄送收件人地址集合添加邮件地址
|
085
|
if (mailCcArray null )
|
086
|
{
|
087
|
foreach ( string t in mailCcArray)
|
088
|
{
|
089
|
message.CC.Add(t);
|
090
|
}
|
091
|
}
|
092
|
//发件人地址
|
093
|
message.From
|
094
|
095
|
//电子邮件的标题
|
096
|
message.Subject
|
097
|
098
|
//电子邮件的主题内容使用的编码
|
099
|
message.SubjectEncoding
|
100
|
101
|
//电子邮件正文
|
102
|
message.Body
|
103
|
104
|
//电子邮件正文的编码
|
105
|
message.BodyEncoding
|
106
|
message.Priority
|
107
|
message.IsBodyHtml
|
108
|
109
|
//在有附件的情况下添加附件
|
110
|
if (attachmentsPath null &&
|
111
|
{
|
112
|
foreach ( string path in attachmentsPath)
|
113
|
{
|
114
|
var new Attachment(path);
|
115
|
message.Attachments.Add(attachFile);
|
116
|
}
|
117
|
}
|
118
|
try
|
119
|
{
|
120
|
var new SmtpClient
|
121
|
{
|
122
|
Credentials new NetworkCredential(config.UserName,
|
123
|
Host
|
124
|
Port
|
125
|
};
|
126
|
127
|
//将邮件发送到SMTP邮件服务器
|
128
|
smtp.Send(message);
|
129
|
//todo:记录日志
|
130
|
return true ;
|
131
|
}
|
132
|
catch (SmtpException
|
133
|
{
|
134
|
//todo:记录日志
|
135
|
return false ;
|
136
|
}
|
137
|
}
|
138
|
catch (SmtpException
|
139
|
{
|
140
|
//todo:记录日志
|
141
|
return false ;
|
142
|
}
|
143
|
}
|
144
|
}
|
145
|
}
|
版权声明:本文为博主原创文章,未经博主允许不得转载。