using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.Mail; namespace Common
{
public class MailHelper
{
/// <summary>
/// 发送者
/// </summary>
public string mailFrom { get; set; } /// <summary>
/// 收件人
/// </summary>
public string[] mailToArray { get; set; } /// <summary>
/// 抄送
/// </summary>
public string[] mailCcArray { get; set; } /// <summary>
/// 标题
/// </summary>
public string mailSubject { get; set; } /// <summary>
/// 正文
/// </summary>
public string mailBody { get; set; } /// <summary>
/// 发件人密码
/// </summary>
public string mailPwd { get; set; } /// <summary>
/// SMTP邮件服务器
/// </summary>
public string host { get; set; } /// <summary>
/// 正文是否是html格式
/// </summary>
public bool isbodyHtml { get; set; } /// <summary>
/// 附件
/// </summary>
public string[] attachmentsPath { get; set; } public bool Send()
{
//使用指定的邮件地址初始化MailAddress实例
MailAddress maddr = new MailAddress(mailFrom);
//初始化MailMessage实例
MailMessage myMail = new MailMessage(); //向收件人地址集合添加邮件地址
if (mailToArray != null)
{
for (int i = ; i < mailToArray.Length; i++)
{
myMail.To.Add(mailToArray[i].ToString());
}
} //向抄送收件人地址集合添加邮件地址
if (mailCcArray != null)
{
for (int i = ; i < mailCcArray.Length; i++)
{
myMail.CC.Add(mailCcArray[i].ToString());
}
}
//发件人地址
myMail.From = maddr; //电子邮件的标题
myMail.Subject = mailSubject; //电子邮件的主题内容使用的编码
myMail.SubjectEncoding = Encoding.UTF8; //电子邮件正文
myMail.Body = mailBody; //电子邮件正文的编码
myMail.BodyEncoding = Encoding.Default; myMail.Priority = MailPriority.High; myMail.IsBodyHtml = isbodyHtml; //在有附件的情况下添加附件
try
{
if (attachmentsPath != null && attachmentsPath.Length > )
{
Attachment attachFile = null;
foreach (string path in attachmentsPath)
{
attachFile = new Attachment(path);
myMail.Attachments.Add(attachFile);
}
}
}
catch (Exception err)
{
throw new Exception("在添加附件时有错误:" + err);
} SmtpClient smtp = new SmtpClient();
//指定发件人的邮件地址和密码以验证发件人身份
smtp.Credentials = new System.Net.NetworkCredential(mailFrom, mailPwd); //设置SMTP邮件服务器
smtp.Host = host; try
{
//将邮件发送到SMTP邮件服务器
smtp.Send(myMail);
return true; }
catch (System.Net.Mail.SmtpException ex)
{
return false;
} }
}
}

C#-MailHelper的更多相关文章

  1. C# 通过smtp服务器进行邮件发送 MailHelper

    C# 通过smtp服务器进行邮件发送 MailHelper.cs using System; using System.Data; using System.Configuration; using ...

  2. 发送邮件工具类MailHelper

    using System; using System.Net; using System.Net.Mail; using System.Text; using System.Threading; na ...

  3. MailHelper

    using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Co ...

  4. c# 通过MailHelper发送QQ邮件

    发送的方法 appsetting内容 第一个是发送邮件qq账号,第二个是QQ邮箱的POP3/SMTP服务码(下面会说怎么获取),第三个是服务器,第四个是端口 获取QQ邮箱的POP3/SMTP服务码 1 ...

  5. .NET开发邮件发送功能的全面教程(含邮件组件源码)

    今天,给大家分享的是如何在.NET平台中开发“邮件发送”功能.在网上搜的到的各种资料一般都介绍的比较简单,那今天我想比较细的整理介绍下: 1)         邮件基础理论知识 2)         ...

  6. ASP.NET MVC 发送邮件(异步)

    最近写邮件发送搞死人了,最后的结果,真是醉了,现整理如下: 网上一搜一大把,到处都是.NET发送邮件的方法,我这里也大同小异的写了一个. 准备一个MailHelper.cs通用类,如下所示: 重要的命 ...

  7. C#之发送邮件【模板】+【封装】ZJ版

    PS: 为了弥补上篇博客的不足,正好周六闲着没事.所以进行优化下,来个终结版 功能实现:模板发送+自指定邮箱发送+解耦 总体预览如下: 各代码如下:(代码略多,所以都折叠了) 前台; @{ Layou ...

  8. 理解C# 4 dynamic(2) – ExpandoObject的使用

    ExpandoObject的使用非常简单,很容易入手.上一篇里面已经有详细的介绍了,可以看这里(理解C# 4 dynamic(1) - var, object, dynamic的区别以及dynamic ...

  9. email

    #region 邮件帮助类 //+-------------------------------------------------------------------+ //+ FileName: ...

随机推荐

  1. Python记录-python执行shell命令

    # coding=UTF-8 import os def distcp(): nncheck = os.system('lsof -i:8020') dncheck = os.system('lsof ...

  2. 转 检查rac服务时,发现ons服务offline

    检查rac服务时,发现ons服务offline 时间:2014-12-23 11:17:37  作者:solgle  来源:www.solgle.com  查看:4075  评论:0         ...

  3. IOS 根据数组的个数对UIButton进行重复或循环使用

    //设置一个view view = [[UIView alloc] initWithFrame:CGRectMake(0, 38, 320, 30)]; view.backgroundColor = ...

  4. swift 日历的制作

    制作日历步骤 1.日期数据的处理,这个可以 添加 extension 解决 extension NSDate{ /*几年几月 这个月的多少天*/ class func getDaysInMonth( ...

  5. java四大名著及idea常用插件

    四大名著 <Java编程思想><Think in Java> https://github.com/quanke/think-in-java https://github.co ...

  6. AWS 基础设施即代码(五)

    基础设施即代码 概述 手动配置的挑战:可能因为人为错误导致缺乏可靠性,环境无法完全再现,同时需要额外文档 基础设施即代码,是软件开发中用于创建可重用.可维护.可扩展及可测试基础设施的技术.实践和工具, ...

  7. transform-transition-animation(2)

    transform transform : none | <transform-function> [ <transform-function> ]* 也就是: transfo ...

  8. SpringBoot部署到Linux上AppserverApplication,访问不到控制层

    放在本地是好好的,可以请求到,放到Linux上去的话就直接404, 解决办法: SpringBoot有个加载类叫AppserverApplication.这个大家应该都知道,我们平常都是如下写: @S ...

  9. typedef用法和陷阱

    一.typedef的用法 1.用typedef来声明新的类型名,来代替已有的类型名,也就是给类型起别名.比如 typedef float REAL; //用REAL来代表float类型 REAL a; ...

  10. Python-08-内置函数

    详情 https://docs.python.org/3/library/functions.html?highlight=built#ascii 1. abs() 取绝对值 2. all() 如果可 ...