C#发邮件_EmailHelper
EmailHelper类
public class EmailHelper
{
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="smtpServer">smtp服务器</param>
/// <param name="port">端口</param>
/// <param name="mailFrom">发件人邮箱</param>
/// <param name="userPassword">密码</param>
/// <param name="mailTo">收件人</param>
/// <param name="strcc">抄送人</param>
/// <param name="strBcc">密送</param>
/// <param name="mailSubject">邮件主题</param>
/// <param name="mailContent">内容</param>
/// <param name="strs">附件</param>
/// <returns>发送成功返回true否则false</returns>
public static bool SendEmail(string smtpServer, int port, string mailFrom, string userPassword, string mailTo, string strcc,string strBcc,string mailSubject, string mailContent, string strs)
{
try
{
// 设置发送方的邮件信息
// 邮件服务设置
SmtpClient smtpClient = new SmtpClient();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
smtpClient.Host = smtpServer; //指定SMTP服务器
smtpClient.Port = port;//端口
smtpClient.Credentials = new System.Net.NetworkCredential(mailFrom, userPassword);//验证用户名和密码
smtpClient.EnableSsl = true; //使用SSL
// 发送邮件设置
MailMessage mailMessage = new MailMessage(mailFrom, mailTo); // 发送人和收件人 mailMessage.Subject = mailSubject;//主题
mailMessage.Body = mailContent;//内容
mailMessage.BodyEncoding = Encoding.UTF8;//正文编码
mailMessage.IsBodyHtml = true;//设置为HTML格式
mailMessage.Priority = MailPriority.Normal;//优先级
//抄送人
if (!string.IsNullOrEmpty(strcc))
mailMessage.CC.Add(strcc);
//密送
if (!string.IsNullOrEmpty(strBcc))
mailMessage.Bcc.Add(strBcc);
//附件
if (!string.IsNullOrEmpty(strs))
{
List<string> paths = new List<string>();
if (strs.Contains(","))
{
paths = strs.Split(',').ToList();
}
else
{
paths.Add(strs); }
foreach (var path in paths)
{
mailMessage.Attachments.Add(new Attachment(strs));
}
}
smtpClient.Send(mailMessage); // 发送邮件
return true;
}
catch
{
return false;
}
}
}
调用发送邮件的方法:
static void Main(string[] args)
{
//获得各种参数,不需要的用空字符串
string path = Directory.GetCurrentDirectory();
string file = path + @"\Excel.xlsx"; //附件1
string file2 = path + @"\Excel2.xlsx";//附件2
string smtpServer = "smtp.163.com";//163邮箱的smtp服务器
int port = ;//端口
string mailFrom = "******@163.com";//发件人邮箱
string pwd = "*********";//密码
string mailTo = "123@163.com,456@qq.com";//收件人邮箱,多个用户用逗号隔开
string mailCC = "";//抄送人,多个用户用逗号隔开
string mailBcc = "";//密送
string mailSubject = "测试邮件";//主题
string mailContent = "HI,这是我发给你的一个测试邮件";//内容
string ah = file+","+file2; //附件-文件路径
if (EmailHelper.SendEmail(smtpServer, port, mailFrom, pwd, mailTo, mailCC, mailBcc, mailSubject, mailContent, ah) == true)
{
Console.WriteLine("发送成功!");
}
else
Console.WriteLine("发送失败"); Console.ReadKey();
}
注意:
- 确认发件人的邮箱已开通smtp;
- 对应邮箱的smtp填写正确,例:126邮箱:smtp@126.com
- 对应的邮箱SendEmail 中是否要使用SSL加密连接
C#发邮件_EmailHelper的更多相关文章
- # PHP - 使用PHPMailer发邮件
PHPMailer支持多种邮件发送方式,使用起来非常简单 1.下载PHPMailer https://github.com/PHPMailer/PHPMailer,下载完成加压后, 把下边的两个文件复 ...
- Linux发邮件之mail命令
一.mail命令 1.配置 vim /etc/mail.rc 文件尾增加以下内容 set from=1968089885@qq.com smtp="smtp.qq.com" set ...
- 测试MailUtils,作用是发邮件
package cn.itcast.test; import java.io.IOException; import javax.mail.MessagingException; import jav ...
- SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享
SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享 第一步建库和建表 USE [master] GO CREATE DATABASE [MonitorElapsedHighSQL] G ...
- 学习linux之用mail命令发邮件
背景 这两天工作比较闲,网上各种冲浪(这个词暴露我的网龄了).看到一位大神的文章更闲 <>.端详一番,原来是用R语言拼接字符串后用shell命令发出去.发现shell命令既然还能直接发邮件 ...
- linux mail利用外部邮箱地址发邮件
mail命令发送邮件需要sendmail或postfix服务 三种常用格式发信 mail -s "标题" xxx@xxx.xxx #第一种方法,你可以把当前shell当成编辑器来用 ...
- 打电话,发短信,发邮件,app跳转
1.打电话 - (IBAction)callPhone1:(id)sender { NSURL *url = [NSURL URLWithString:@"tel://18500441739 ...
- iOS中如何切换到发短信、打电话、发邮件
我们在做APP的时候,难免会遇到需要调用短信,电话等程序的时候.如美团. 当然,这些都只是一些简单的方法就可以实现,但是时间久了也会淡忘,所以想写这边博客.一是为了再捡起来复习一下,另一个相当于留个备 ...
- 发邮件 和 excel导出中文文件名
/** * 发邮件 * @param email * @param subject * @param body * @throws UnsupportedEncodingException */ pu ...
随机推荐
- Python Python实现批量安装android apk包
基于Python实现批量安装android apk包 by:授客 QQ:1033553122 1.相关软件包及文件下载 下载地址:adb软件包及批量安装apk包的py文件.zip 2.测试环境 Win ...
- Python 'xxx' codec can't decode byte xxx常见编码错
'xxx' codec can't decode byte xxx常见编码错误处理 by:授客 QQ:1033553122 测试环境 python 3.3.2 win7 问题描述 利用python文件 ...
- 关于Linux安装Mono 3.4的bug
网上可以找到中文的办法,但作者提供了一个完整版下载.麻烦再下载不说,安全问题也得不到保障.其实解决办法很简单. 问题描述:进入mono源码目录,配置后make,然后make install,但是提示缺 ...
- Keras实现VGG16
一.代码实现 # -*- coding: utf-8 -*- """ Created on Sat Feb 9 15:33:39 2019 @author: zhen & ...
- java----鲁棒性
所谓“鲁棒性”,是指控制系统在一定(结构,大小)的参数摄动下,维持其它某些性能的特性. Java鲁棒性的特点如下: Java在编译和运行程序时都要对可能出现的问题进行检查,以防止错误的产生. Java ...
- CentOS 6.5 搭建 .NET 环境, Mono 5.16.0 + Jexus 5.8
最近有这样一个打算,就是准备把以前的有一个.NET 网站部署在Linux 下面,正好试试 .NET 跨平台的功能,为后续研究 .netCore 方向准备. 搭建环境: CentOS 6.5 + Mon ...
- Python对文件的解压和压缩
zipfile: 解压: import os, zipfile serverzip_path = 'D:\\server.zip' serverzip_target_path = 'd:\\2' f ...
- SQLServer插入数据
使用数据库管理工具插入数据 打开数据库,选则要插入数据的表->右键点击->选择插入前200行->在右边视图中输入要插入的数据(如果字段设置为不为空,则必须输入,如果字段设置为可空,则 ...
- Java程序导出成.jar文件、生成.exe可执行文件及打包成可执行安装程序(可在无Java环境的计算机上运行)--以个人所得税计算器为例
Java程序导出成.jar文件.生成.exe可执行文件及打包成可执行安装程序 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 需要准备的软件: jdk, ...
- U盘插入电脑3.0的口没有反应了,2.0的口就可以
如果驱动没有问题的话,很有可能是优盘硬件故障. 尝试解决办法: 1.使劲插(就是用力一插到底).... 2.插入三分之一,不过速度只能达到2.0的速度.