Email发送

  1 public class EmailConfig
  2 {
  3 public static readonly string ServerAddress = ConfigurationManager.AppSettings["ServerAddress"];
  4 public static readonly string ServerUserName = ConfigurationManager.AppSettings["ServerUserName"];
  5 public static readonly string ServerUserPass = ConfigurationManager.AppSettings["ServerUserPass"];
  6 public static readonly string ServerPort = ConfigurationManager.AppSettings["ServerPort"];
  7 public static readonly string Authentication = ConfigurationManager.AppSettings["Authentication"];
  8 public static readonly string Sender = ConfigurationManager.AppSettings["Sender"];
  9
 10 }
 11
 12 public class EmailExten
 13 {
 14 /// <summary>
 15 /// 日志
 16 /// </summary>
 17 public static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
 18
 19
 20 #region 邮件发送组件
 21 /// <summary>
 22 /// 发送邮件 Created by ZhangQC 2016.08.23
 23 /// </summary>
 24 /// <param name="recipient">收件人</param>
 25 /// <param name="subject">主题</param>
 26 /// <param name="body">正文</param>
 27 /// <param name="isBodyHtml">指示邮件正文是否为html</param>
 28 /// <param name="encoding">编码</param>
 29 /// <param name="isAuthentication">是否需要凭证</param>
 30 /// <param name="files">附件</param>
 31 static void Send(string recipient, string subject, string body, bool isBodyHtml, Encoding encoding, bool isAuthentication, params string[] files)
 32 {
 33 //初始化邮件发送
 34 var smtpClient = new SmtpClient
 35 {
 36 Host = EmailConfig.ServerAddress,
 37 Port = EmailConfig.ServerPort.ToInt(),
 38 Timeout = 3000,
 39 EnableSsl=true
 40 };
 41 //初始化消息
 42 var message = new MailMessage(EmailConfig.Sender, recipient)
 43 {
 44 IsBodyHtml = isBodyHtml,
 45 SubjectEncoding = encoding,
 46 BodyEncoding = encoding,
 47 Subject = subject,
 48 Body = body
 49 };
 50 //增加附件
 51 message.Attachments.Clear();
 52 if (files != null && files.Length != 0)
 53 {
 54 for (int i = 0; i < files.Length; ++i)
 55 {
 56 var attach = new Attachment(files[i]);
 57 message.Attachments.Add(attach);
 58 }
 59 }
 60 //用户名密码
 61 if (isAuthentication)
 62 {
 63 smtpClient.Credentials = new NetworkCredential(EmailConfig.ServerUserName, EmailConfig.ServerUserPass);
 64 }
 65
 66
 67 //发送完成回调
 68 smtpClient.SendCompleted += new SendCompletedEventHandler(SmtpClientSendCompleted);
 69 //object mailSendState = message;
 70 //smtpClient.SendAsync(message, mailSendState);
 71 //smtpClient.SendAsync(message,"ok");
 72 smtpClient.Send(message);
 73
 74
 75 }
 76
 77 /// <summary>
 78 /// 发送回调
 79 /// </summary>
 80 /// <param name="sender"></param>
 81 /// <param name="e"></param>
 82 static void SmtpClientSendCompleted(object sender, AsyncCompletedEventArgs e)
 83 {
 84 bool mailSent = true;
 85 string state = (string)e.UserState;
 86
 87 if (e.Cancelled)
 88 {
 89 mailSent = false;
 90 }
 91 if (e.Error != null)
 92 {
 93 mailSent = false;
 94 }
 95
 96 }
 97
 98 /// <summary>
 99 /// 邮件发送 Created by ZhangQC 2016.08.23
100 /// </summary>
101 /// <param name="recipient">收件人</param>
102 /// <param name="subject">主题</param>
103 /// <param name="body">内容</param>
104 public static bool Send(string recipient, string subject, string body)
105 {
106 if (string.IsNullOrEmpty(recipient))
107 return false;
108 try
109 {
110 Send(recipient, subject, body, true, Encoding.UTF8, true, null);
111 return true;
112 }
113 catch (Exception ex)
114 {
115 Log.ErrorFormat("邮件发送失败:{0}",ex);
116 return false;
117 }
118 }
119
120 static void Send(string recipient, string sender, string subject, string body)
121 {
122 if (string.IsNullOrEmpty(recipient))
123 return;
124
125 Send(recipient, subject, body, true, Encoding.UTF8, true, null);
126 }
127 #endregion
128 }
时间: 2024-10-14 10:21:25

Email发送的相关文章

java email发送

今天自己封装了email发送,做了一个对外的接口,目前支持text/html类型,打算明天支持直接文字类型以及html文件类型,先上传目前的封装代码.(2016/8/29). 我在写这段代码的时候出现了正文乱码现象,调整了一个小时也没有找出问题,换成英文可以正常发送,但是里面包含中文就是乱码并且时而发送邮件失败.但是调整一个小时后自己突然好了,无论我改什么编码类型都能正常解码,我对照了原来自己的代码也是一摸一样,我对此百思不得其解,目前也没有发现问题. 我是maven管理项目,所以在pom.xm

使用Email发送功能

上次CRM中用到了Email发送功能,虽然最后实现了,但对效果并不满意. 后来又找了些资料,重新整理了一份,废话不多说,直接上代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.Net.Mail; namespace CRM.Business.Att { class KenceryCommonMethod {

python selenium2示例 - email发送

前言 在进行日常的自动化测试实践中,我们总是需要将测试过程中的记录.结果等等等相关信息通过自动的手段发送给相关人员.python的smtplib.email模块为我们提供了很好的email发送等功能的实现. 纯文本邮件 在通常情况下,我们需要发送大量的纯文本类的邮件通知,或是发送概要性测试报告时,会用到此类发送方式,示例代码如下: #-*- coding:utf-8 -*- __author__ = u'苦叶子' import smtplib from email.mime.text impor

[原创] CQ(clear quest)自动执行查询并将查询结果通过email发送的实现

负责的项目有时候会被项目经理找来催,原来又没有及时的去搜索CQ... 于是这两天自己实现了一下能自动执行CQ查询的脚本,同时还能降查询结果发送到我的邮箱.分享一下吧: 简单说明一下: 1)其实是两个比较独立的的功能拼凑到一块实现的, 一个功能是CQ的登陆和查询, 看函数logonDMS()和DoQuery(): 一个功能是发送email,看函数sendmail(). 2)是用CQ的perl接口实现的,执行的时候不能用原生的perl执行, 必须用CQ安装目录下的CQPerl.exe 来执行. 好了

java email 发送

邮件服务是一般系统的基本功能,本例使用163免费邮箱发送 1.邮件信息类(MailSenderInfo ) package sendEmail.email; import java.util.Properties; /** * 邮件信息设置 * @author Administrator * */ public class MailSenderInfo { private String mailServerHost ; //发送邮件主机 private String mailServerPort

python使用smtplib和email发送腾讯企业邮箱邮件

公司每天要发送日报,最近没事搞了一下如何自动发邮件,用的是腾讯企业邮箱,跟大家分享一下我的研究过程吧. 以前弄的发邮件的是用qq邮箱发的,当时在网上查资料最后达到了能发图片,网页,自定义收件人展示,主题等比较简 单的,但没想到说发送个word附件,后来才发现原来email里的MIMEText就可以,先上代码吧 1 #coding:utf8 2 ''' 3 日报 4 ''' 5 import email 6 import smtplib 7 import os 8 from email.mime.

用PHP Email发送表单内容(9)- Buliding the message body

这一节只有一个内容,就是用用户填写的内容自动生产我们的邮件内容,当然还要进行一系列的判定. 邮件主题的内容,是由下面这段代码实现的,看里面的注释就可以理解了: 1 if(!$suspect && !$missing && !$errors){//如果出现以上情况,我们不希望这个程序运行: 2 $message = ''; //先建立$message以后再慢慢的往里面加内容; 3 foreach($expected as $item){ //谨慎起见,我只希望希望的内容出现在

用PHP Email发送表单内容(10)- 发送邮件

这一节的内容是发送邮件,有以下几点需要注意: 1.mail函数的格式,各个参数的格式: 2.发送成功之后,应该给用户怎样的反馈? 3.如果没有发送成功,改给用户什么样的反馈? 主要是增加了下面这些代码: mail_process.php 1 $mailSended = mail($to ,$subject, $message, $headers, $authenticate);//这里直接换做mail函数 2 if(!$mailSended){ 3 $errors['mailfail'] = t

用PHP Email发送表单内容(3)-mail()函数的几个参数详解

这一节主要讲的是mail函数. 首先阅读手册,看看mail函数的基本形式:http://php.net/manual/en/function.mail.php mail();函数接受几个参数: 第一个参数:收件人 $to = ‘[email protected]’; 或者我们有多个收件人: $to = ‘[email protected]’,’[email protected]’; 或者我们还可以加上收件人的名字: $ = ‘david <[email protected]>,james &l

Android 调用系统Email发送带多附件的邮件

转自:http://www.open-open.com/lib/view/open1347005126912.html 众所周知,在Android中调用其他程序进行相关处理,都是使用的Intent.当然,Email也不例外. 在Android中,调用Email有三种类型的Intent: Intent.ACTION_SENDTO  无附件的发送 Intent.ACTION_SEND  带附件的发送 Intent.ACTION_SEND_MULTIPLE  带有多附件的发送 当然,所谓的调用Emai