asp.net使用MailMessage发送邮件的方法

这篇具有很好参考价值的文章主要介绍了asp.net使用MailMessage发送邮件的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 新建web窗体Email.aspx,在设计页面中添加table控件,设置table为六行两列,并添加相应的控件,整体设计如图所示:(软件:Vs2017)

asp.net使用MailMessage发送邮件的方法

 控件名称及ID如下:asp.net使用MailMessage发送邮件的方法

书写后台代码之前需要先了解MailMessage类中的各个属性:

        From:发件人邮箱地址。

  To:收件人的邮箱地址。

     CC:抄送人邮箱地址。

  Subject:邮件标题。

  Body:邮件内容。

       Attachments:邮件附件

        此外MailMessage还需要用到SmtpClient类进行发送邮件。SmtpClient类的意思是:允许应用程序使用简单邮件传输协议 (SMTP) 来发送电子邮件。SmtpClient类常用的一些属性和方法:

(SmtpClient 类 (System.Net.Mail) | Microsoft Docs)

  1、Host: 获取或设置用于 SMTP 事务的主机的名称或 IP 地址。

  2、EnableSsl:是否使用安全套接字层加密连接。

  3、UseDefaultCredentials:是否随请求一起发送。

  4、Credentials:获取或设置用于验证发件人身份的凭证。

  5、Send():发送。

需要额外了解MailMessage.Fields属性

作用:获取一个映射到 Microsoft 协作数据对象 (CDO) 字段的对象的集合。

(MailMessage.Fields 属性 (System.Web.Mail) | Microsoft Docs)

简单来说就是MailMessage.Fields属性可以将用户名和密码发送到简单邮件传输协议, (SMTP) 服务器进行身份验证。我们想要实现发送邮箱可以用到这个方法:

mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");    
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "(你的用户名)"); 
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "(密码)");

 2.下面 Email.aspx.cs代码以网易邮箱为例,实现发送邮件:

1.需要引入命名空间:

using System.IO;//上传附件

using System.Web.Mail; //发送邮件

2.为Button1 添加 Button1_Click事件:

protected void Button1_Click(object sender, EventArgs e)
        {
            MailMessage objMail = new MailMessage();//实例化一个邮件类objMail
            objMail.From = mailFrom.Text;
            objMail.To = mailTo.Text;
            objMail.Subject = Subject.Text;
            objMail.Body = Body.Text;
            objMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
            objMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "XXXXX@163.com");//个人邮箱
            objMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "(授权码)");
            objMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", 465);
            objMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true");

            //先将客户端的文件上传到服务器端
            string filename, filepath;
            filename = Path.GetFileName(FileUpload1.PostedFile.FileName); 
            filepath = Server.MapPath("./") + filename;
            FileUpload1.PostedFile.SaveAs(filepath);  

            //创建MailAttachment对象,添加附件
            MailAttachment objAttach = new MailAttachment(filepath);
            objMail.Attachments.Add(objAttach); //添加附件

            SmtpMail.SmtpServer = "smtp.163.com";//对应邮箱发送邮件的服务器地址
            SmtpMail.Send(objMail);//执行发送操作
        }

3.授权码的获取:

        授权码的在这里的作用就相当于密码,开通后即可使用foxmail、Outlook等第三方客户端进行收发邮件。

        登录网易邮箱-->找到设置-->POP3/SMTP/IMAP-->按照提示开启IMAP/SMTP服务-->获取授权码

asp.net使用MailMessage发送邮件的方法

 整体代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Web.Mail;

namespace course1.Login
{
    public partial class Email : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            MailMessage objMail = new MailMessage();//实例化一个邮件类objMail
            objMail.From = mailFrom.Text;//objMail.From表示原邮件地址 即发送人的邮箱
            objMail.To = mailTo.Text;//objMail.To 表示收件人地址 即收件人邮箱
            objMail.Subject = Subject.Text;//objMail.Subject 表示邮件主题 即邮件的标题
            objMail.Body = Body.Text;//objMail.Body 即邮件的内容
            objMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
            objMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "(邮箱账号)");
            objMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "(授权码)");
            objMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", 465);
            objMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true");

            //先将客户端的文件上传到服务器端
            string filename, filepath;
            filename = Path.GetFileName(FileUpload1.PostedFile.FileName); 
            filepath = Server.MapPath("./") + filename;
            FileUpload1.PostedFile.SaveAs(filepath);  

            //创建MailAttachment对象,添加附件
            MailAttachment objAttach = new MailAttachment(filepath);
            objMail.Attachments.Add(objAttach); //添加附件

            SmtpMail.SmtpServer = "smtp.163.com";//对应邮箱发送邮件的服务器地址
            SmtpMail.Send(objMail);//执行发送操作
        }
    }
}

运行截图:

asp.net使用MailMessage发送邮件的方法

asp.net使用MailMessage发送邮件的方法

 以上介绍的就是ASP.NET web页面实现发送邮件,希望对你有所帮助!!文章来源地址https://www.toymoban.com/news/detail-463900.html

到了这里,关于asp.net使用MailMessage发送邮件的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python发送邮件的几种常用方法

    第一种是最常见的,smtp发送 第二种是用outlook发送的,这个大家借鉴使用 第三种是正文需要用到表格的,我在这里给大家一个示例,具体表格怎么改自行发挥

    2024年02月16日
    浏览(45)
  • 帝国cms7.5发送邮件支持465端口的设置方法

    众所周知云服务器为了减少垃圾啊邮件,默认封掉了smtp 25端口,允许ssl 链接 smtp 465端口或者其他端口,接下来我就给大家发一下帝国cms 7.5版本的修改教程,完成ssl的发件修改。 1、修改php.ini找到extension=php_openssl.dll去掉前面的;号。保存后重启IIS 或者Apache或者Nginx PS:小编使

    2024年02月03日
    浏览(39)
  • 使用SMTP协议发送邮件

    剧情介绍 今天心血来潮,学了一下Python3,里面有个章节是发送邮件,用示例里面的代码,运行后报错,然后记录一下问题是如何解决的,大家可以看一下,可以有效避坑。 SMTP简介 SMTP是一种提供可靠且有效的电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服

    2024年02月05日
    浏览(66)
  • 使用msmtp发送邮件

    最近需要在服务器上运行一些时间很长的命令,想让服务器自动通知我什么时候命令完成,通过命令结束后发送邮件给我来提醒。 创建或编辑 .msmtprc ,内容示例如: 其中 host 和 port 根据不同的邮箱而异, from 和 user 为发送邮件使用的邮箱账号, password 需要在邮箱设置中开启

    2024年02月19日
    浏览(42)
  • 使用Mailx发送邮件

    环境:CentOS 7 1.安装mailx 2.修改/etc/mail.rc文件 如何设置你的授权码(建议用网易163) 网易: qq: mailx命令发送邮件 使用语法 参数 测试发送(主题test mail 内容今日日期 随便附件一个文件 这里我创建/opt/scripts/test.sh使用此文件 分别发送给三个邮箱地址 显示详细信息) 4.去邮箱

    2024年02月13日
    浏览(86)
  • 一篇文章带你了解Java发送邮件:使用JavaMail API发送电子邮件的注意事项、发送附件等

    作者:Stevedash 发表于:2023年8月13日 15点48分 来源:Java 发送邮件 | 菜鸟教程 (runoob.com) 电子邮件在现代通信中扮演着至关重要的角色,而在Java编程中,我们可以利用JavaMail API来方便地实现发送电子邮件的功能。本篇博客将向您介绍如何使用JavaMail API来发送电子邮件,以及一些

    2024年02月13日
    浏览(62)
  • 使用 PHPMailer 实现邮件的实时发送

    💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】 🤟 基于Web端打造的:👉轻量化工具创作平台 💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 今天我们利用GitHub上20K+星星的项目 PHPMailer 实现一个接收询盘并实时同步到指定邮箱的功能。 首先我们用

    2024年02月05日
    浏览(51)
  • SpringBoot,使用JavaMailSender发送邮件(含源码)。

        本文主要讲解使用JavaMailSender发送邮件,并给出对应的参考案例、源码。 1、使用的依赖jar包      JavaMailSender发送邮件,只需要 \\\"spring-boot-starter-mail\\\" jar包就可以。考虑到邮件发送时,使用 Hutool工具生成Excel文件做为附件,因此这里也将 Hutool工具包依赖添加上。 2、 appl

    2024年02月07日
    浏览(44)
  • 使用Python发送HTML格式的邮件

    使用Python发送HTML格式的邮件 😇博主简介:我是一名正在攻读研究生学位的人工智能专业学生,我可以为计算机、人工智能相关本科生和研究生提供排忧解惑的服务。如果您有任何问题或困惑,欢迎随时来交流哦!😄 ✨座右铭:宝剑锋从磨砺出,梅花香自苦寒来。 ⛪️个人

    2024年02月13日
    浏览(34)
  • 使用 office 365 SMTP 发送企业邮件

    最近公司的企业邮箱从 gmail 迁移到了 office 365。不得不说,微软 office 套件的功能在市场上还是无人可以取代的。公司自然需要用 office 365 向客户发送邮件,因此需要重新配置项目的 SMTP 服务器。 一开始直接将 gamil 的 SMTP 服务器地址换成 office 365 的地址即“smtp.office365.com”,

    2024年02月07日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包