using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Mail;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; namespace WebApplication1
{
public partial class Cemail : System.Web.UI.Page
{
private string sfrom = "111111@qq.com";//发送人邮箱
private string sfromer = "发送人";
private string stoer = "收件人";
private string sSMTPHost = "smtp.qq.com";//SMTP服务器
private string sSMTPuser = "111111@qq.com";//用户登录名
private string sSMTPpass = "授权码";//登陆密码-新版之后的QQ邮箱都是使用授权码,需要到邮箱-设置-账户里面找到-生成授权码-复制进来;
protected void Page_Load(object sender, EventArgs e)
{ } protected void btnSend_Click(object sender, EventArgs e)
{
string sto = txtSto.Text.Trim();
string cc = txtCC.Text.Trim();
string title = txtTitle.Text.Trim();
string content = txtContent.Text.Trim();
if (string.IsNullOrEmpty(sto) || string.IsNullOrEmpty(title) || string.IsNullOrEmpty(content))
{
Response.Write("<script>alert('收件人,标题,内容不能为空')</script>");
}
else
{
MailAddress from = new MailAddress(sfrom, sfromer);//发件人地址对象
MailAddress to = new MailAddress(sto, stoer);//收件人地址对象
MailMessage oMail = new MailMessage(from, to);
oMail.Subject = title;//设置邮件标题
oMail.Body = content;//设置邮件文本内容
oMail.IsBodyHtml = false;//设置为HTML格式
oMail.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312");//正文编码
oMail.Priority = MailPriority.High;//优先级
if (cc != "")
{
if (cc.ToLower().IndexOf(';') > )
{
cc = cc.Substring(, cc.Length - );
string[] acc = cc.Split(';');
foreach (var c in acc)
{
oMail.CC.Add(c);
}
}
else
{
oMail.CC.Add(cc);
}
}
SmtpClient client=new SmtpClient();
client.EnableSsl = true;//由于使用了授权码必须设置该属性为true
client.Host = sSMTPHost;//指定SMTP服务器
client.Credentials = new NetworkCredential(sSMTPuser, sSMTPpass);//邮箱的用户名和密码,注意使用qq邮箱时密码使用的是授权码
client.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
try
{
client.Send(oMail);
Response.Write("<script>alert('发送成功')</script>");
}
catch
{
Response.Write("<script>alert('发送失败')</script>");
}
finally
{
oMail.Dispose();
}
}
}
}
}
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Cemail.aspx.cs" Inherits="WebApplication1.Cemail" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td>收件人邮箱</td>
<td>
<asp:TextBox ID="txtSto" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>抄送</td>
<td>
<asp:TextBox ID="txtCC" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>标题</td>
<td>
<asp:TextBox ID="txtTitle" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>内容</td>
<td>
<asp:TextBox ID="txtContent" runat="server" Height="136px" TextMode="MultiLine" Width="254px"></asp:TextBox></td>
</tr>
<tr>
<td>
<asp:Button ID="Button1" runat="server" Text="重置" /></td> <td>
<asp:Button ID="btnSend" runat="server" Text="提交" OnClick="btnSend_Click" /></td>
</tr>
</table>
</div>
</form>
</body>
</html>

qq邮箱设置教程

----到这里就ok了,其实主要和像sohu之类邮箱发送邮件不同的是

一:在代码里面设置SmtpClient的EnableSsl属性为true

二:设置QQ邮箱账户中的POP3/SMTP服务,另外密码也是要使用授权码

asp.net使用qq邮箱发送邮件的更多相关文章

  1. asp.net利用QQ邮箱发送邮件,关键在于开启pop并设置授权码为发送密码

    public static bool SendEmail(string mailTo, string mailSubject, string mailContent)        {         ...

  2. ASP.NET用QQ,网易发送邮件以及添加附件

    教程:ASP.NET用QQ,网易发送邮件以及添加附件 这是我用QQ邮箱出现的异常: 命令顺序不正确. 服务器响应为:Error: need EHLO and AUTH first !无法从传输连接中读 ...

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

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

  4. ecshop QQ邮箱发送邮件服务器配置

    ecshop QQ邮箱发送邮件服务器配置 1.邮件服务:采用其他的SMTP服务 2.邮件服务器是否要求加密连接(SSL): 是 此项设置需要php支持openSSL模块 开启方法: a.php.ini ...

  5. SpringBoot使用qq邮箱发送邮件

    最近公司要做一个邮箱注册和重置密码的功能,因为之前就做过,但是不是Springboot项目,所以相对来说还是比较容易的,在这里记录一下. 一.引用Maven依赖 这里使用spring自带的邮件jar包 ...

  6. python qq邮箱发送邮件

    使用qq发送邮件 # coding=utf8 """ qq邮箱发送邮件 """ import sys reload(sys) sys.set ...

  7. python3通过qq邮箱发送邮件

    python3通过qq邮箱发送邮件 0.了解qq邮箱的SMTP QQ邮箱 POP3 和 SMTP 服务器地址设置如下: 邮箱 POP3服务器(端口995) SMTP服务器(端口465或587) qq. ...

  8. 基于java mail实现简单的QQ邮箱发送邮件

    刚学习到java邮件相关的知识,先写下这篇博客,方便以后翻阅学习. -----------------------------第一步 开启SMTP服务 在 QQ 邮箱里的 设置->账户里开启 S ...

  9. 使用 QQ 邮箱发送邮件报错:java.net.SocketTimeoutException: Read timed out. Failed messages: javax.mail.MessagingException: Exception reading response

    使用 QQ 邮箱发送邮件报错:java.net.SocketTimeoutException: Read timed out. Failed messages: javax.mail.Messagin ...

随机推荐

  1. web基础之会话技术

    一.会话技术之Cookie Cookie技术是将数据存储到客户端 1.怎样去向客户端写出一个cookie 1)创建Cookie对象 Cookie cookie = new Cookie(name,va ...

  2. 当一个JavaScripter初次进入PHP的世界,他将看到这样的风景

     本文将从以下11点介绍javascript和PHP在基础语法和基本操作上的异同: 1.数据类型的异同 2.常量和变量的定义的不同,字符串连接运算符不同 3.对象的创建方法的不同 4.PHP与JS在变 ...

  3. linux系统管理--查看进程

    关于进程的查看,大家都不会陌生 ,主要是ps和pstree命令. ps  aux    查看系统中所有进程,使用BSD操作系统格式.(注意:不是ps -aux) 执行结果 USER :该进程是由哪个用 ...

  4. 小程序的1024KB

    1024kb 只是一个目前编译后代码可上传最大限制,至于后期会不会更改,不得而知.个人只是想借 1024kb 来和大家一起交流一下,如何在限制下,挥舞大刀- 微信官方回答了,为什么有 1024kb 的 ...

  5. C#访问ORALCE数据库

    随着时间的推移知识也在更新,原来可用的技术也会被淘汰或更新. framework4.0开始不再支持System.Data.OracleClient了,但是令人欣慰的是ORACLE公司自己出了一个Ora ...

  6. Spring+SpringMVC+MyBatis深入学习及搭建(四)——MyBatis输入映射与输出映射

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6878529.html 前面有讲到Spring+SpringMVC+MyBatis深入学习及搭建(三)——My ...

  7. mac下eclipse安装svn插件-subclipse

    目前Eclipse最常用的svn插件莫非subclipse,在windows系统下的安装svn client和subclipse比较简单.本文介绍如何在mac安装svn插件和subclipse. 一. ...

  8. 挂载mount

    mount 1 挂载mount 基本概念 挂载:将额外文件系统与根文件系统现存的目录建立起关联关系,进而使得此目录做为其它文件访问入库的行为 卸载:为解除关联关系的过程 注意:挂载点下原有的文件在挂载 ...

  9. Java经典编程题50道之八

    求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制. public class Example ...

  10. javascript中break和continue的区别

    1.break:跳出循环. 2.continue:跳过循环中的一个迭代.(迭代:重复反馈过程的滑动,其目的是为了逼近所需目标或结果.每一次对过程的重复称为一次"迭代",而每一次迭代 ...