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. mssql的update :from语法

    一条Update更新语句是不能更新多张表的,除非使用触发器隐含更新.而表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据.我们先来讨论根据其他表数据更新你要更新的表 一.MS    S ...

  2. CountDownLatch和CyclicBarrier使用上的区别

    一.CountDownLatchDemo package com.duchong.concurrent; import java.util.Map; import java.util.concurre ...

  3. 向多个git仓库提交

    查看所有远程仓库 为了不用每次输密码,可以先配置ssh key 查看 添加远程仓库 git remote add origin1 git@other:YYYYYYYYYY/AA.git 向新的代码仓库 ...

  4. pt-osc 变更时遇到 “MySQL error 1300” 报错问题解决

    目的 线上一张表的字段长度变更 `sGuid` varchar(255) DEFAULT NULL COMMENT 'sGuid' => `sGuid` varchar(512) DEFAULT ...

  5. WXS---基础类库

  6. Linux-通过源码安装某个版本的内核

    一下操作步骤来自于各种搜索出来的杂七杂八的东西.主要来自:https://blog.csdn.net/happyfreeangel/article/details/85088706 前置环境:Cent ...

  7. kafka为什么吞吐量高,怎样保证高可用

    1:kafka可以通过多个broker形成集群,来存储大量数据:而且便于横向扩展. 2:kafka信息存储核心的broker,通过partition的segment只关心信息的存储,而生产者只负责向l ...

  8. DCEP究竟是什么?

    DCEP (Digital Currency Electronic Payment) 数字货币电子支付工具 DCEP将由中国人民银行推出,推出时间待定. DCEP是使用区块链技术的一种联盟链,为全新的 ...

  9. 转:路由 router-view

    原文链接: 路由 router-view 路由,其实就是指向的意思,当我点击页面上的home按钮时,页面中就要显示home的内容,如果点击页面上的about 按钮,页面中就要显示about 的内容.H ...

  10. nmap使用帮助翻译

    Nmap 7.60 ( https://nmap.org )Usage: nmap [扫描类型] [操作] {目标说明}目标说明:  可以识别主机名.IP地址.网络,等等.  例如: scanme.n ...