asp.net使用qq邮箱发送邮件



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 = "[email protected]";//发送人邮箱
        private string sfromer = "发送人";
        private string stoer = "收件人";
        private string sSMTPHost = "smtp.qq.com";//SMTP服务器
        private string sSMTPuser = "[email protected]";//用户登录名
        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(‘;‘) > 0)
                    {
                        cc = cc.Substring(0, cc.Length - 1);
                        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服务,另外密码也是要使用授权码

时间: 2024-08-04 04:20:39

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

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

教程:ASP.NET用QQ,网易发送邮件以及添加附件 这是我用QQ邮箱出现的异常: 命令顺序不正确. 服务器响应为:Error: need EHLO and AUTH first !无法从传输连接中读取数据: net_io_connectionclosed 解决方法: 首先去邮箱设置一下内容: 1.开启SMTP, 2.申请授权码.(授权码作为QQ邮箱登陆密码使用.) 如果这些已经弄好了,应是代码有问题.请参考C#代码部分. QQ邮箱代码: 注意:用户名不加后缀"@qq.com",密码使

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

刚学习到java邮件相关的知识,先写下这篇博客,方便以后翻阅学习. -----------------------------第一步 开启SMTP服务 在 QQ 邮箱里的 设置->账户里开启 SMTP 服务 完成验证 获取授权码(后面代码实现时使用) -----------------------------第二步 环境配置 即下载第三方库 https://github.com/javaee/javamail/releases -----------------------------第三步 代

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

杂项之使用qq邮箱发送邮件 本节内容 特殊设置 测试代码 1. 特殊设置 之前QQ邮箱直接可以通过smtp协议发送邮件,不需要进行一些特殊的设置,但是最近使用QQ邮箱测试的时候发现以前使用的办法无法奏效了...于是上网查了查,QQ对这方面做了一些限制,必须使用授权码才能登陆邮箱.官方链接在这:http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256按照上面的官方文档配置好之后就可以使用QQ邮箱发

qq邮箱发送邮件封装

使用qq发送邮件 # coding=utf8 """ qq邮箱发送邮件 """ import sys reload(sys) sys.setdefaultencoding('utf8') import smtplib from email.mime.text import MIMEText class QQMailClient(): """使用qq邮箱发送邮件""" def __init

SpringBoot使用qq邮箱发送邮件

最近公司要做一个邮箱注册和重置密码的功能,因为之前就做过,但是不是Springboot项目,所以相对来说还是比较容易的,在这里记录一下. 一.引用Maven依赖 这里使用spring自带的邮件jar包 <!-- 邮件服务 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId&g

asp.net——QQ邮箱发送邮件

1.获取QQ邮箱的授权码 打开QQ邮箱 - 设置 - 账户 - 开启POP3/SMTP服务 -> 根据操作获取授权码 2.设置并发送邮件--方法1 (两种配置方式) -1:配置Web.config,在<configuration>标签中添加以下代码 (aaaaaaaaaa:表示你发信人的邮箱号. bbbbbbbbbb:表示你前面获取的授权码. 端口号port:我测试25能发,而465不能发(不知道为什么).) <system.net> <mailSettings>

QQ邮箱发送邮件,出现mail from address must be same as authorization user错误

之前做的一个系统,有个发送邮件的功能,一直能正常使用,今天同事说QQ邮箱发送不了. 立马着手调试,发现服务器一直出现“mail from address must be same as authorization user”的错误,网上很多人说是“POP3/SMTP服务”没有开启,登录邮箱查看,发现该服务是开启的. 百思不得其解时,另一个同事说他用另一个QQ邮箱测试,邮件能正常发送,立即进入邮箱对比,发现他的QQ邮箱设置了“独立密码”,联想到抛出的错误提示,顿时大悟,设置独立密码,程序发送邮件时

PHP 利用 QQ 邮箱发送邮件「PHPMailer」

在 PHP 应用开发中,往往需要验证用户邮箱.发送消息通知,而使用 PHP 内置的 mail() 函数,则需要邮件系统的支持. 如果熟悉 IMAP/SMTP 协议,结合 Socket 功能就可以编写邮件发送程序了,不过开发这样一个程序并不容易. 好在 PHPMailer 封装的足够强大,使用它可以更加便捷的发送邮件,免去了我们很多额外的麻烦. PHPMailer PHPMailer 是一个封装好的 PHP 邮件发送类,支持发送 HTML 内容的电子邮件,以及可以添加附件发送,并不像 PHP 本身

JAVA 使用qq邮箱发送邮件

引入一个架包: 代码如下: private static final String QQ_EMAIL_HOST="smtp.qq.com";//qq SMTP服务器 地址 private static final String QQ_EMAIL_PORT="587";//qq SMTP服务器 端口(465这个端口有问题) private static final String QQ_EMAIL_FROM="[email protected]";/