0

0

C#拾遗之SmtpClient类

黄舟

黄舟

发布时间:2017-02-06 17:23:54

|

2163人浏览过

|

来源于php中文网

原创

smtpclient类

允许应用程序使用简单邮件传输协议 (SMTP) 发送电子邮件。

命名空间:system.net.mail

属性

ClientCertificates:指定应使用哪个证书来建立安全套接字层(SSL)连接

Credentials:获取或设置用来对发件人进行身份验证的凭证

DeliveryFormat:获取或设置所使用的传递格式SmtpClient发送电子邮件

DeliveryMethod:指定如何发送的电子邮件将处理消息

EnableSsl:指定是否SmtpClient使用安全套接字层(SSL)加密的连接

Host:获取或设置一个或多个SMTP交易记录所用的主机的IP地址

PickupDirectoryLocation:获取或设置应用程序在其中保存邮件以处理由本地SMTP服务器的文件夹

Port:获取或设置用于SMTP事物的端口

ServicePoint:获取用于传输电子邮件的网络连接

TargetName:获取或设置服务提供程序名称(SPN)时使用扩展的保护用于进行身份验证

Timeout:获取或设置一个值,指定Send调用的超时时间

UseDefaultCredentials:获取或设置Boolean值,该值控制是否DefaultCredentials随请求一起发送

方法

Dispose()

将一条QUIT消息发送到SMTP服务器、正常结束TCP连接,并释放当前实例所使用的smtpclient类的所有资源

Dispose(Boolean)

将一条QUIT消息发送到SMTP服务器、正常结束TCP连接时,释放当前实例所使用的smtpclient类的所有资源,并可根据需要释放托管资源

Equals(Object)

确定指定的对象是否等于当前对象

Finalize()

在垃圾回收机制将回收某一对象前允许该对象尝试释放资源并执行其他清理操作

GetHashCode()

作为默认的哈希函数

GetType()

获取当前实例的Type

MemberwiseClone()

创建当前Object的浅表副本

OnSendCompleted(AsyncCompletedEventArgs)

引发SendComplete事件

Send(MailMessage)

将指定的消息发送到SMTP服务器以进行传递

Send(String, String, String, String)

将指定的电子邮件发送到SMTP服务器进行传递。邮件发件人、收件人、主题和消息正文使用指定String对象

讯飞星火
讯飞星火

科大讯飞推出的多功能AI智能助手

下载

SendAsync(MailMessage, Object)

将指定的电子邮件发送到 SMTP 服务器以进行传递。 此方法不会阻止调用线程,并允许调用方将对象传递给该操作完成时调用的方法

SendAsync(String, String, String, String, Object)

将一封电子邮件发送到 SMTP 服务器以进行传递。 邮件发件人、 收件人、 主题和消息正文使用指定 String 对象。 此方法不会阻止调用线程,并允许调用方将对象传递给该操作完成时调用的方法。 

SendAsyncCancel()

取消异步操作以发送电子邮件

SendMailAsync(MailMessage)

将指定的消息发送到 SMTP 服务器以进行异步操作的形式传递。

SendMailAsync(String, String, String, String)

将指定的消息发送到 SMTP 服务器以便以异步操作的形式交付。 。 邮件发件人、 收件人、 主题和消息正文使用指定 String 对象。

ToString()

返回表示当前对象的字符串。(继承自 Object。)

事件

SendCompleted

当异步电子邮件发送操作完成时发生

备注

下表中所示的类用于构建使用可发送的电子邮件 SmtpClient。

Attachment类

表示文件附件,此类允许您将文件、流、或文本附加到电子邮件

MailAddress类

表示发件人和收件人的电子邮件地址

MailMessage类

表示一封电子邮件

构造并发送一封电子邮件使用 SmtpClient, ,您必须指定以下信息︰

用于发送电子邮件的 SMTP 主机服务器。

对于身份验证,如果 SMTP 服务器所需的凭据。

发件人电子邮件地址。

电子邮件地址或收件人的地址。 

消息内容。 

若要包括使用电子邮件附件,首先创建附件使用 Attachment 类,然后再添加到消息通过 MailMessage.Attachments 属性。 具体取决于使用收件人和附件的文件类型的电子邮件的读取器的情况下,某些收件人不可能能够读取附件。 对于不能保持其原始格式显示的附件的客户端,您可以通过指定替代视图 MailMessage.AlternateViews 属性。

可以使用该应用程序或计算机配置文件来指定用于所有的默认主机、 端口和凭据值 SmtpClient 对象。

若要在等待传输到 SMTP 服务器的电子邮件时发送电子邮件和块,使用一个同步 Send 方法。 若要允许程序的主线程继续执行传输电子邮件时,使用异步之一 SendAsync 方法。 SendCompleted 引发事件时 SendAsync 操作完成。 若要接收此事件,必须添加 SendCompletedEventHandler 委托给 SendCompleted。 SendCompletedEventHandler 委托必须引用的回调方法,用于处理通知的 SendCompleted 事件。 若要取消异步电子邮件传输,使用 SendAsyncCancel 方法。

邮件发送界面主要代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;using System.Windows.Forms;
using System.IO;using System.Net;using System.Net.Mail;
namespace SendEmail{
public partial class Form3 : Form{
string severaddress;string mailuser;string userpwd;public 
Form3(){
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e){
Form6 form = new Form6();
form.SendParaHandler +=new Form6.SendPara(reload);
//事件的挂接form.Show();
}
public void reload(){
StreamReader read = new StreamReader(@"fajianren.asdf");
severaddress = read.ReadLine();
mailuser = read.ReadLine();
userpwd = read.ReadLine();
read.Close();}
private void Form3_Load(object sender, EventArgs e){
reload();}
public bool sendmail(string mailfrom,string mailto,string mailsubject,string mailbody){
MailAddress from = new MailAddress(mailfrom);
MailMessage message = new MailMessage();
try{message.From = from;
message.To.Add(mailto);
message.Subject = mailsubject;
message.Body = mailbody;
message.Priority = MailPriority.Normal;
SmtpClient smtp = new SmtpClient();
smtp.Host = severaddress;
smtp.UseDefaultCredentials = false;
smtp.EnableSsl = true;
smtp.Credentials = new NetworkCredential(mailuser,userpwd);
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Send(message);
}
catch(Exception e){ 
return 
false;
}
return 
true;
}
private void button2_Click(object sender, EventArgs e){
string mailfrom = mailuser;
string mailto = textBox1.Text;
string mailsubject = textBox2.Text;
string mailbody = textBox3.Text;
if (sendmail(mailfrom, mailto, mailsubject, mailbody)){
MessageBox.Show("邮件发送成功");
}
else{
MessageBox.Show("邮件发送失败");
}
}
}
}

设置发件人信息界面主要代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace SendEmail
{
public partial class Form
6 : Form
{public Form6(){InitializeComponent();
}
private void button1_Click(object sender, EventArgs e){
Write();
}
//加载信息
private void Form6_Load(object sender, EventArgs e){
StreamReader read = new StreamReader(@"fajianren.asdf");
textBox1.Text = read.ReadLine();
textBox2.Text = read.ReadLine();
textBox3.Text = read.ReadLine();
read.Close();
}
//写入信息
public void Write(){
StreamWriter write = new StreamWriter(@"fajianren.asdf");
write.WriteLine(textBox1.Text);
write.WriteLine(textBox2.Text);
write.WriteLine(textBox3.Text);
write.Close();
}
public delegate void SendPara();
//定义委托
public event SendPara SendParaHandler;
//定义事件
private void button2_Click(object sender, EventArgs e){
SendParaHandler.Invoke();
Write();
this.Close();
}
}
}

以上就是C#拾遗之smtpclient类的内容,更多相关内容请关注PHP中文网(www.php.cn)!

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

32

2026.01.31

go语言 math包
go语言 math包

本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

23

2026.01.31

go语言输入函数
go语言输入函数

本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

16

2026.01.31

golang 循环遍历
golang 循环遍历

本专题整合了golang循环遍历相关教程,阅读专题下面的文章了解更多详细内容。

5

2026.01.31

Golang人工智能合集
Golang人工智能合集

本专题整合了Golang人工智能相关内容,阅读专题下面的文章了解更多详细内容。

6

2026.01.31

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

268

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

195

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

170

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

85

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
C# 教程
C# 教程

共94课时 | 8.2万人学习

C 教程
C 教程

共75课时 | 4.4万人学习

C++教程
C++教程

共115课时 | 15.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号