【转】asp调用C#编写的DLL发送邮件
2015-11-11 16:21
656 查看
一直想写一个asp能用发送邮件的服务器组件,不过用VC太麻烦了,一直都没都手。
前两天看一篇文章,说是asp怎么调用C#写的DLL,一试之下,果然可以,大喜,这下用来写一个发送邮件的东东简单了吧。
呵呵,非常简单,一会就弄好了,不敢独享,先看代码:
[c-sharp]
view plaincopyprint?
using System;
using System.Net.Mail;
using System.Text;
namespace IMELS
{
public class SendMail
{
public SendMail() { }
private string _to =
string.Empty;
/// <summary>
/// 收件人地址,多个用“,”号隔开
/// </summary>
public string To
{
set { _to = value; }
}
private string _from =
string.Empty;
/// <summary>
/// 发件人地址
/// </summary>
public string From
{
set { _from = value; }
}
private string _fromName =
string.Empty;
/// <summary>
/// 发件人显示名称
/// </summary>
public string FromName
{
set { _fromName = value; }
}
private string _cc =
string.Empty;
/// <summary>
/// 抄送,多个用“,”号隔开
/// </summary>
public string CC
{
set { _cc = value; }
}
private string _bcc =
string.Empty;
/// <summary>
/// 密抄,多个用“,”号隔开
/// </summary>
public string BCC
{
set { _bcc = value; }
}
private string _charset =
"GB2312";
/// <summary>
/// 邮件正文的编码
/// </summary>
public string Charset
{
set { _charset = value; }
}
private string _contentType =
"html";
/// <summary>
/// 邮件格式(html or txt)
/// </summary>
public string ContentType
{
set { _contentType = value; }
}
private string _subject =
string.Empty;
/// <summary>
/// 邮件标题
/// </summary>
public string Subject
{
set { _subject = value; }
}
private string _body =
string.Empty;
/// <summary>
/// 邮件内容
/// </summary>
public string Body
{
set { _body = value; }
}
private string _smtp;
/// <summary>
/// SMTP服务器地址
/// </summary>
public string Smtp
{
set { _smtp = value; }
}
private string _username;
/// <summary>
/// SMTP用户名
/// </summary>
public string Username
{
set { _username = value; }
}
/// <summary>
/// SMTP密码
/// </summary>
private string _password;
public string Password
{
set { _password = value; }
}
private int _port = 25;
/// <summary>
/// SMTP商品
/// </summary>
public int Port
{
set { _port = value; }
}
/// <summary>
/// 发送
/// </summary>
public void Send()
{
MailAddress from = new MailAddress(_from, _fromName);
MailMessage message = new MailMessage();
message.From = from;
string[] toadd = _to.Split(',');
foreach (string _add
in toadd)
{
try
{
message.To.Add(new MailAddress(_add));
}
catch(Exception e)
{
_error += "To Address Error : " + e.Message +
"(" + _add + ");";
}
}
if (_cc != string.Empty)
{
string[] ccadd = _cc.Split(',');
foreach (string _add
in ccadd)
{
try
{
message.CC.Add(new MailAddress(_add));
}
catch (Exception e)
{
_error += "CC Address Error : " + e.Message +
"(" + _add + ");";
}
}
}
if (_bcc !=
string.Empty)
{
string[] bccadd = _bcc.Split(',');
foreach (string _add
in bccadd)
{
try
{
message.Bcc.Add(new MailAddress(_add));
}
catch (Exception e)
{
_error += "BCC Address Error : " + e.Message +
"(" + _add + ");";
}
}
}
message.Sender = from;
message.Subject = _subject;
message.Body = _body;
if (_contentType ==
"html" || _contentType == string.Empty)
{
message.IsBodyHtml = true;
}
else
{
message.IsBodyHtml = false;
}
message.BodyEncoding = Encoding.GetEncoding(_charset);
message.DeliveryNotificationOptions = DeliveryNotificationOptions.None;
SmtpClient __smtp = new SmtpClient();
__smtp.Host = _smtp;
__smtp.Port = _port;
__smtp.UseDefaultCredentials = false;
__smtp.Credentials = new System.Net.NetworkCredential(_username, _password);
__smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
try
{
__smtp.Send(message);
}
catch (SmtpException e)
{
_error += "SMTP Error:" + e.Message +
";";
}
}
private string _error =
string.Empty;
/// <summary>
/// 返回错误信息
/// </summary>
public string Error
{
get { return _error; }
}
/// <summary>
/// 清空错误信息
/// </summary>
public void ClearErr()
{
_error = string.Empty;
}
}
}
好了,大功告成!!
发现好多人都转载了本文章,请转载时加上原文的链接:/article/9249779.html
前两天看一篇文章,说是asp怎么调用C#写的DLL,一试之下,果然可以,大喜,这下用来写一个发送邮件的东东简单了吧。
呵呵,非常简单,一会就弄好了,不敢独享,先看代码:
[c-sharp]
view plaincopyprint?
using System;
using System.Net.Mail;
using System.Text;
namespace IMELS
{
public class SendMail
{
public SendMail() { }
private string _to =
string.Empty;
/// <summary>
/// 收件人地址,多个用“,”号隔开
/// </summary>
public string To
{
set { _to = value; }
}
private string _from =
string.Empty;
/// <summary>
/// 发件人地址
/// </summary>
public string From
{
set { _from = value; }
}
private string _fromName =
string.Empty;
/// <summary>
/// 发件人显示名称
/// </summary>
public string FromName
{
set { _fromName = value; }
}
private string _cc =
string.Empty;
/// <summary>
/// 抄送,多个用“,”号隔开
/// </summary>
public string CC
{
set { _cc = value; }
}
private string _bcc =
string.Empty;
/// <summary>
/// 密抄,多个用“,”号隔开
/// </summary>
public string BCC
{
set { _bcc = value; }
}
private string _charset =
"GB2312";
/// <summary>
/// 邮件正文的编码
/// </summary>
public string Charset
{
set { _charset = value; }
}
private string _contentType =
"html";
/// <summary>
/// 邮件格式(html or txt)
/// </summary>
public string ContentType
{
set { _contentType = value; }
}
private string _subject =
string.Empty;
/// <summary>
/// 邮件标题
/// </summary>
public string Subject
{
set { _subject = value; }
}
private string _body =
string.Empty;
/// <summary>
/// 邮件内容
/// </summary>
public string Body
{
set { _body = value; }
}
private string _smtp;
/// <summary>
/// SMTP服务器地址
/// </summary>
public string Smtp
{
set { _smtp = value; }
}
private string _username;
/// <summary>
/// SMTP用户名
/// </summary>
public string Username
{
set { _username = value; }
}
/// <summary>
/// SMTP密码
/// </summary>
private string _password;
public string Password
{
set { _password = value; }
}
private int _port = 25;
/// <summary>
/// SMTP商品
/// </summary>
public int Port
{
set { _port = value; }
}
/// <summary>
/// 发送
/// </summary>
public void Send()
{
MailAddress from = new MailAddress(_from, _fromName);
MailMessage message = new MailMessage();
message.From = from;
string[] toadd = _to.Split(',');
foreach (string _add
in toadd)
{
try
{
message.To.Add(new MailAddress(_add));
}
catch(Exception e)
{
_error += "To Address Error : " + e.Message +
"(" + _add + ");";
}
}
if (_cc != string.Empty)
{
string[] ccadd = _cc.Split(',');
foreach (string _add
in ccadd)
{
try
{
message.CC.Add(new MailAddress(_add));
}
catch (Exception e)
{
_error += "CC Address Error : " + e.Message +
"(" + _add + ");";
}
}
}
if (_bcc !=
string.Empty)
{
string[] bccadd = _bcc.Split(',');
foreach (string _add
in bccadd)
{
try
{
message.Bcc.Add(new MailAddress(_add));
}
catch (Exception e)
{
_error += "BCC Address Error : " + e.Message +
"(" + _add + ");";
}
}
}
message.Sender = from;
message.Subject = _subject;
message.Body = _body;
if (_contentType ==
"html" || _contentType == string.Empty)
{
message.IsBodyHtml = true;
}
else
{
message.IsBodyHtml = false;
}
message.BodyEncoding = Encoding.GetEncoding(_charset);
message.DeliveryNotificationOptions = DeliveryNotificationOptions.None;
SmtpClient __smtp = new SmtpClient();
__smtp.Host = _smtp;
__smtp.Port = _port;
__smtp.UseDefaultCredentials = false;
__smtp.Credentials = new System.Net.NetworkCredential(_username, _password);
__smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
try
{
__smtp.Send(message);
}
catch (SmtpException e)
{
_error += "SMTP Error:" + e.Message +
";";
}
}
private string _error =
string.Empty;
/// <summary>
/// 返回错误信息
/// </summary>
public string Error
{
get { return _error; }
}
/// <summary>
/// 清空错误信息
/// </summary>
public void ClearErr()
{
_error = string.Empty;
}
}
}
[vb] view plaincopyprint? <% dim send set send = Server.CreateObject("IMELS.SendMail") send.From = "test@163.com" send.FromName = "无问" send.Smtp = "smtp.163.com" send.Username = "用户名" send.Password = "密码" send.Subject = "asp调用C#编写的DLL发送邮件测试标题" send.ContentType = "html" send.Charset = "gb2312" send.Body = "asp调用C#编写的DLL发送邮件测试正文" send.To = "to@163.com" send.CC = "抄送地址" send.BCC = "密抄地址" send.Send() Response.Write(send.Error) %> <% dim send set send = Server.CreateObject("IMELS.SendMail") send.From = "test@163.com" send.FromName = "无问" send.Smtp = "smtp.163.com" send.Username = "用户名" send.Password = "密码" send.Subject = "asp调用C#编写的DLL发送邮件测试标题" send.ContentType = "html" send.Charset = "gb2312" send.Body = "asp调用C#编写的DLL发送邮件测试正文" send.To = "to@163.com" send.CC = "抄送地址" send.BCC = "密抄地址" send.Send() Response.Write(send.Error) %>
好了,大功告成!!
发现好多人都转载了本文章,请转载时加上原文的链接:/article/9249779.html
相关文章推荐
- ASP.net状态服务器使用
- ASP.NET MVC架构与实战系列之四:MVC实例演练
- ASP.NET MVC3 通过Url传多个参数方法
- asp.net处理json数据
- 对 ASP.NET 异步编程的一点理解
- ASP.NET MVC 中 ActionResult 和 ViewResult 在使用上的区别
- [Windows Server 2008] ASP.net安装方法
- asp程序无法上传5M以上的文件
- asp.net 获取客户端真实Ip
- 史上最全的ASP.NET MVC路由配置,以后RouteConfig再弄不懂神仙都难救你啦~ - Cherbim
- Metasploit概述
- Barcode Professional for ASP.NET使用教程:如何用System.Net.Mail 类创建条码图像的HTML邮件
- Barcode Professional for ASP.NET使用教程:如何用System.Net.Mail 类创建条码图像的HTML邮件
- asp.net新建表单保存和提交的问题解决方案
- asp.net mvc3.0 razor 网站全站脚本、样式统一引用解决放方案
- ASP.NET Highcharts图表
- ASP.NET 小白从零开始建站简易教程 (一)域名、虚拟主机、FTP上传文件
- ASP.NET easyUI--datagrid 通过ajax请求ASP.NET后台数据的分页查询
- asp.net 信息管理系统中的需填写数据的键值对获取方法
- asp.net多线程,执行真实时间与百分比的进度条