using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Net.Mail;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; namespace 邮件发送
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
string email = "605490312@qq.com";
string emailBody = @"致:各位<br />
請查收附件的條碼資料。<br />
謝謝!!<br /> (該郵件由自動化系統後臺群發,請勿回覆。不便之處,敬請諒解!)";
SendEmail(email, "test主题", emailBody);
}
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="toEmail"></param>
/// <param name="subject"></param>
/// <param name="body"></param>
public static void SendEmail(string toEmail, string subject, string body)
{
string smtpServer = ConfigurationManager.AppSettings["SmtpServer"];
string SmtpFrom = ConfigurationManager.AppSettings["SmtpFrom"];
string SmtpUserName = ConfigurationManager.AppSettings["SmtpUserName"];
string SmtpPassword = ConfigurationManager.AppSettings["SmtpPassword"];
MailMessage mailObj = new MailMessage(); mailObj.IsBodyHtml = true;
mailObj.From = new MailAddress(SmtpFrom, SmtpUserName, Encoding.UTF8); //发送人邮箱地址
mailObj.To.Add(toEmail); //收件人邮箱地址
mailObj.To.Add("771981371@qq.com");
mailObj.To.Add("huangjialiang@perfsmart.com");
mailObj.Subject = subject; //主题
mailObj.Body = body; //正文
String sFile = @"D:\haifengtiaoma\20161031\1610MM004.xls";
String sFile1 = @"D:\haifengtiaoma\20161031\1610MM004_lot.csv";
Attachment aAttch = new Attachment(sFile);//添加附件 Attachment aAttch1 = new Attachment(sFile1);//每个附件就需要NEW一个Attachment
mailObj.Attachments.Add(aAttch);
mailObj.Attachments.Add(aAttch1); SmtpClient smtp = new SmtpClient();//通过.Net内置的SmtpClient类和邮件服务器进行通讯,发送邮件
//是和发邮件方的smtpt通讯,由发邮件方的邮件服务器和收邮件方的邮件服务器通信进行邮件的转接
smtp.Host = smtpServer; //smtp服务器名称
smtp.UseDefaultCredentials = true;
smtp.EnableSsl = true;
smtp.Credentials = new NetworkCredential(SmtpUserName, SmtpPassword); //发送人的登录名和密码
// smtp.Port = 587;
smtp.EnableSsl = false;//如果显示 服务器不支持安全连接。 则smtp.EnableSsl = false
smtp.Send(mailObj);
}
}
}

邮件发送代码

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<appSettings> <add key="SmtpServer" value="smtp.test.com"/>
<add key="SmtpFrom" value="hjl@test.com"/>
<add key="SmtpUserName" value="hjl@test.com"/>
<add key="SmtpPassword" value=""/> </appSettings>
</configuration>

C# 邮箱的使用的更多相关文章

  1. Xamarin+Prism小试牛刀:定制跨平台Outlook邮箱应用

    通过本文你将学会如下内容: 1,如何使用Xamarin开发跨平台(Windows,Android,iOS)应用. 2,如何使用微软的登录界面登入Microsoft账号. 3,如何使用Outlook邮箱 ...

  2. Xamarin+Prism小试牛刀:定制跨平台Outlook邮箱应用(后续)

    在[Xamarin+Prism小试牛刀:定制跨平台Outlook邮箱应用]里面提到了Microsoft 身份认证,其实这也是一大块需要注意的地方,特作为后续补充这些知识点.上章是使用了Microsof ...

  3. C#发送邮箱

    之前自己从来没有做过发送邮箱的功能,前段时间项目需要,在找了很多帖子之后,终于实现了. 之后有整理了一下,写了一个类.直接给类传递信息,就可以发送了. 这里还需要说明的是,发送邮箱需要开通POP3/S ...

  4. iOS之判断手机号码、邮箱格式是否正确

    //判断手机号码格式是否正确 + (BOOL)valiMobile:(NSString *)mobile{     mobile = [mobile stringByReplacingOccurren ...

  5. 技术笔记:Indy IdSMTP支持腾讯QQ邮箱邮件发送

    1.腾讯QQ邮箱的授权码问题 因为腾讯邮箱折腾了个底朝天,其要搞什么授权码登录第三方客户端,否则会报这个错误: 'Error: 请使用授权码登录.详情请看: http://service.mail.q ...

  6. ★Kali信息收集~ 5.The Harvester:邮箱挖掘器

    官网:http://www.edge-security.com 安装:apt-get install theHarvester 运行:终端输入 theharvester (小写) 用法+参数:(返回邮 ...

  7. Email系列(QQ邮箱 + 含附件的邮箱案例 + 项目实战)

    平台之大势何人能挡? 带着你的Net飞奔吧! http://www.cnblogs.com/dunitian/p/4822808.html 邮箱系列:https://github.com/duniti ...

  8. 【代码笔记】iOS-验证手机号,邮箱,车牌号是否合法

    一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. ...

  9. 杂项之使用qq邮箱发送邮件

    杂项之使用qq邮箱发送邮件 本节内容 特殊设置 测试代码 1. 特殊设置 之前QQ邮箱直接可以通过smtp协议发送邮件,不需要进行一些特殊的设置,但是最近使用QQ邮箱测试的时候发现以前使用的办法无法奏 ...

  10. [LeetCode] Delete Duplicate Emails 删除重复邮箱

    Write a SQL query to delete all duplicate email entries in a table named Person, keeping only unique ...

随机推荐

  1. Python 练习:简单的购物车

    salary = int(input("Please input your salary: ")) msg = ''' 1. iphone6s 5800 2. mac book 9 ...

  2. git与vscode连接的一种简单方式

    首先你得安装git,如果你还没安装git,推荐你一个视频git的下载与安装,这套视频包含VS code和git的基本使用,当你看完它,就可以不看我的这篇博客了. 废话不多说,直接进入正题: 首先进入g ...

  3. 【代码笔记】Web-JavaScript-JavaScript输出

    一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  4. Docker第二章:docker基础1--镜像,容器&仓库

    镜像介绍及操作:http://www.haveneed.cn/article-detials/115 容器介绍及操作:http://www.haveneed.cn/article-detials/11 ...

  5. Vagrant安装配置

    转载自:https://my.oschina.net/u/3424381/blog/888205 Vagrant安装配置 实际上Vagrant只是一个让你可以方便设置你想要的虚拟机的便携式工具,它底层 ...

  6. JavaScript与正则表达式

    正则表达式的定义 正则表达式与字符串对象相关的方法  相关示例 一.正则表达式(regular expression简称res) 1.定义: 一个正则表达式就是由普通字符以及特殊字符(称为元字符)组成 ...

  7. WRT 下 C++ wstring, string, String^ 互转

    由于项目原因,需要引入C++. wstring 与 string 的互转研究了一段时间,坑主要在于使用下面这种方式进行转换,中文会乱码 wstring ws = L"这是一段测试文字&quo ...

  8. 洗礼灵魂,修炼python(46)--巩固篇—如虎添翼的property

    @property 在前面装饰器一章中,提过一句话,装饰器也可以用于类中,确实可以的,并且python的类也内置了一部分装饰器.并且在前两章的hasattr等四个内置方法中,也说过其用法很类似装饰器, ...

  9. REPLACE函数的使用方法

    Replace函数的含义~ 用新字符串替换旧字符串,而且替换的位置和数量都是指定的. replace函数的语法格式 =Replace(old_text,start_num,num_chars,new_ ...

  10. Java同步、异步区别

    一.概念: 1.同步:所有的操作都做完,才返回给用户.这样用户在线等待的时间太长,给用户一种卡死了的感觉(就是系统迁移中,点击了迁移,界面就不动了,但是程序还在执行,卡死了的感觉).这种情况下,用户不 ...