【.NET】发送Email
首先,在web.config的appSettings配置一下。
<appSettings>
<add key="FromMail" value="xxx@163.com"/>
<add key="MailDomain" value="smtp.163.com"/>
<add key="MailServerUser" value="xxx"/>
<add key="MailServerPWD" value="xxx"/>
</appSetting>
下面是类的方法,类名:Email
///发送找回密码Email
///发送注册成功Email
///发送Email方法 using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Globalization;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Net.Mail; namespace Tools
{
public class Email
{
public static bool SendMemberJobEmail(Model.Msg member)
{
StringBuilder sb = new StringBuilder();
sb.Append("<p>找回密码</p>");
sb.Append("<p>用户名:"+member.mname+"</p>");
sb.Append("<p>密码:"+member.content+"</p>"); string fromMail = ConfigurationManager.AppSettings["FromMail"].ToString();
string toMail = member.email;//ConfigurationManager.AppSettings["ToMail"].ToString();
string server = ConfigurationManager.AppSettings["MailDomain"].ToString();
string userName = ConfigurationManager.AppSettings["MailServerUser"].ToString();
string password = ConfigurationManager.AppSettings["MailServerPWD"].ToString();
string subject = "(科技网站 " + DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss") + ")"; bool result = SendMail(fromMail, toMail, subject, sb.ToString(), server, userName, password, true); return result;
} /// <summary>
/// 发送邮件
/// </summary>
/// <param name= "server "> smtp地址 </param>
/// <param name= "username "> 用户名 </param>
/// <param name= "password "> 密码 </param>
/// <param name= "from "> 发信人地址 </param>
/// <param name= "to "> 收信人地址 </param>
/// <param name= "subject "> 邮件标题 </param>
/// <param name= "body "> 邮件正文 </param>
/// <param name= "IsHtml "> 是否是HTML格式的邮件 </param>
public static bool SendMail(string from, string to, string subject, string body, string server, string username, string password, bool IsHtml)
{
//设置SMTP 验证
SmtpClient mailClient = new SmtpClient(server);
if(server == "smtp.gmail.com")
{
mailClient.Port = ;
mailClient.EnableSsl = true;
}
//表示当前登陆用户的默认凭据进行身份验证,并且包含用户名密码
mailClient.UseDefaultCredentials = true;
//mailClient.Host = "smtp.gmail.com";
mailClient.Credentials = new System.Net.NetworkCredential(username, password); //指定如何发送电子邮件。
//Network 电子邮件通过网络发送到 SMTP 服务器。
//PickupDirectoryFromIis 将电子邮件复制到挑选目录,然后通过本地 Internet 信息服务 (IIS) 传送。 //SpecifiedPickupDirectory 将电子邮件复制到 SmtpClient.PickupDirectoryLocation 属性指定的目录,然后由外部应 用程序传送。 mailClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; //创建邮件对象
MailMessage mailMessage = new MailMessage(from, to, subject, body); //定义邮件正文,主题的编码方式
mailMessage.BodyEncoding = System.Text.Encoding.GetEncoding("gb2312");
mailMessage.SubjectEncoding = System.Text.Encoding.GetEncoding("gb2312"); //获取或者设置一个值,该值表示电子邮件正文是否为HTML
mailMessage.IsBodyHtml = IsHtml; //指定邮件的优先级
mailMessage.Priority = MailPriority.Normal; /*
// //添加附件
//System.Web.Mail.MailAttachment mailAttachment=new System.Web.Mail.MailAttachment(@ "f:/att.txt ");
if (strFileName != " " && strFileName != null)
{
Attachment data = new Attachment(strFileName);
mailMessage.Attachments.Add(data);
}
*/ //发件人身份验证,否则163 发不了
mailClient.Credentials = new System.Net.NetworkCredential(username, password); //发送
//try
//{
mailClient.Send(mailMessage); return true;
//}
//catch(Exception ex)
//{
// return false;
//} } }
}
【.NET】发送Email的更多相关文章
- java发送email
package com.assess.util; import java.io.File; import java.util.ArrayList; import java.util.List; imp ...
- Spring 发送 Email
本文转自:http://zl198751.iteye.com/blog/757617 看到了本文,收获颇丰,感谢之至! 首先介绍下Email的发送流程: 需要选中smtp邮件服务器,Yahoo不提供免 ...
- 使用PHP发送email进行账号激活或者密码修改操作
使用PHPMailer编写发送邮件 PHPMailer需PHP的socket扩展支持,而PHPMailer链接qq域名邮箱时需要ssl加密方式(qq邮箱最近做了限制,新开域名邮箱不再允许通过smtp协 ...
- 使用python原生的方法实现发送email
使用python原生的方法实现发送email import smtplib from email.mime.text import MIMEText from email.mime.multipart ...
- C#发送Email邮件(实例:QQ邮箱和Gmail邮箱)
下面用到的邮件账号和密码都不是真实的,需要测试就换成自己的邮件账号. 需要引用: using System.Net.Mail; using System.Text; using System.Net; ...
- 【WinForm】C# 发送Email
发送Email 的条件 1.SmtpClient SMTP 协议 即 Host 处理事务的主机或IP地址 //smtp.163.com UseDefaultCredentia ...
- [转]C#发送Email邮件 (实例:QQ邮箱和Gmail邮箱)
下面用到的邮件账号和密码都不是真实的,需要测试就换成自己的邮件账号. 需要引用:using System.Net.Mail;using System.Text;using System.Net; 程序 ...
- asp.net发送E-mail
发送电子邮件也是项目开发当中经常用到的功能,这里我整理了一个发送电子邮件(带附件,支持多用户发送,主送.抄送)的类库,供大家参考. 先上两个实体类,用于封装成Mail对象. /// <summa ...
- 使用spring 并加载模板发送Email 发邮件 java 模板
以下例子是使用spring发送email,然后加载到固定的模板,挺好的,大家可以试试 需要使用到spring-context 包 和 com.springsource.org.apache.veloc ...
- [Python] 发送email的几种方式
python发送email还是比較简单的,能够通过登录邮件服务来发送,linux下也能够使用调用sendmail命令来发送,还能够使用本地或者是远程的smtp服务来发送邮件,无论是单个,群发,还是抄送 ...
随机推荐
- 简化日常工作之三:自己写一个CI脚手架
程序员是诗人,应该写一些有思想意义的code,而不是每天重复造轮子,写一些低成本的业务逻辑. ---------------------------------一个脚本仔的心声 由于目前公司使用CI框 ...
- iOS GCD中级篇 - dispatch_group
1.关于dispatch_group 把一组任务提交到队列中,这些队列可以不相关,然后监听这组任务完成的事件. 最常见的几个方法: 1.dispatch_group_create创建一个调度任务组 2 ...
- C语言之总结3
23). 内存中的五大区域 a. 栈 是专门用来存储局部变量的.所有的局部变量都是声明在栈区域中的. b. 堆 允许程序员手动的从堆申请空间来使用.(对象) c. BSS段 是用来存储未初始化的全局变 ...
- CMD常用指令
列出所有端口使用情况 netstat -ano 只查看端口5060使用情况 netstat -ano|findstr "5060" 查看进程8612的信息 tasklist|fin ...
- sublime & atom 插件
1. autofilename(sublime) autocomplete-paths (atom): 自动路径 2. autoprefixer: 自动添加前缀 : https://github.c ...
- Java中修饰符
下面这张图应该大家都见过,根据图表来记忆最好理解 范围 private friendly(默认) protected public 当前类 √ √ √ √ 当前包中的类 √ √ √ 当前包中的类, ...
- hdu 1299 Diophantus of Alexandria(数学题)
题目链接:hdu 1299 Diophantus of Alexandria 题意: 给你一个n,让你找1/x+1/y=1/n的方案数. 题解: 对于这种数学题,一般都变变形,找找规律,通过打表我们可 ...
- leetcode 024
Given a linked list, swap every two adjacent nodes and return its head. For example,Given 1->2-&g ...
- Tiny6410之重定位代码到SDRAM
在上一章中,将代码重定位到了SRAM中,但是这样的做法作用不大.正确的做法的是将代码重定位到更大的主存中,即DRAM.Tiny6410的DRAM控制寄存器最多只能支持两个同一类型的芯片.每个芯片最多可 ...
- 可参考的gulp资源
可参考的gulp资源 入门:https://segmentfault.com/a/1190000000435599 比较详细:https://markpop.github.io/2014/09/17/ ...