今天又折腾半天,总算把用 * 发邮件这事儿给搞定。跟大家唠唠我都干些啥,省得你们以后再踩坑。
我琢磨着这玩意儿应该挺简单的,毕竟网上教程一大堆。我就打开 Visual Studio,建个新的网站项目。然后,在项目上点右键,选“添加新项”,再选“Web 窗体”,起个名叫 *。这步还挺顺利的。
我就开始鼓捣这个 * 页面。加个表格,弄六行两列,还放几个文本框,用来填收件人、主题、正文啥的。再加个按钮,写上“发送”俩字。界面看起来还像那么回事。
- 收件人:
- 抄送:
- 主题:
- 正文:
- 附件:
然后就是写代码。我记得以前用过一个叫 CDOSYS 的东西,好像是 这个命名空间里的,里边有三个类,分别是:SmtpMail、MailMessage 和 MailAttachment,用它可以发邮件。我就把这个命名空间给引进来,这样就可以在代码里面使用到上面提到的三个类。
配置邮箱
但是,事情没那么简单。现在邮箱都要求安全连接,啥 SMTP 服务器、端口号、用户名、密码,都得配置我用的是 QQ 邮箱,还得去邮箱设置里把 SMTP 服务打开,获取一个授权码。这个授权码可不是邮箱密码,得记住,一会儿要用。
编写发送代码
配置弄好,就可以写发邮件的代码。主要就是创建个 MailMessage 对象,然后给收件人、主题、正文啥的赋值。如果要抄送、添加附件,就再加点代码。用 方法把邮件发出去。代码如下:
这回csharp
using System;
using *;
namespace WebApplication1
public partial class Email : *.Page
protected void Page_Load(object sender, EventArgs e)
protected void btnSend_Click(object sender, EventArgs e)
try
MailMessage mail = new MailMessage();
* = new MailAddress("你的邮箱地址", "你的名字"); // 发件人邮箱和昵称
*(*); // 收件人邮箱
if (!*(*))
*(*); // 抄送人邮箱
* = *; // 邮件主题
* = *; // 邮件正文
* = true; // 正文是否为 HTML 格式
// 添加附件(如果有的话)
if (*)
Attachment attachment = new Attachment(*, *);
*(attachment);
SmtpClient smtpClient = new SmtpClient();
* = "*"; // SMTP 服务器地址(QQ 邮箱)
* = 587; // SMTP 服务器端口(QQ 邮箱)
* = false;
* = new *("你的邮箱地址", "你的授权码"); // 邮箱账号和授权码
* = true; // 启用 SSL 加密
*(mail);
* = "邮件发送成功!";
catch (Exception ex)
* = "邮件发送失败:" + *;
这回
这一通操作下来,总算是把邮件发出去。虽然过程有点曲折,但也学到不少东西。以后再遇到类似的问题,应该就能轻松应对。所以说,实践出真知,多动手试试总没错!
今儿就分享到这儿,希望对你们有所帮助!