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对象

DreamUp
DreamUp

DeviantArt推出的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)!

相关专题

更多
c++主流开发框架汇总
c++主流开发框架汇总

本专题整合了c++开发框架推荐,阅读专题下面的文章了解更多详细内容。

97

2026.01.09

c++框架学习教程汇总
c++框架学习教程汇总

本专题整合了c++框架学习教程汇总,阅读专题下面的文章了解更多详细内容。

50

2026.01.09

学python好用的网站推荐
学python好用的网站推荐

本专题整合了python学习教程汇总,阅读专题下面的文章了解更多详细内容。

139

2026.01.09

学python网站汇总
学python网站汇总

本专题整合了学python网站汇总,阅读专题下面的文章了解更多详细内容。

12

2026.01.09

python学习网站
python学习网站

本专题整合了python学习相关推荐汇总,阅读专题下面的文章了解更多详细内容。

19

2026.01.09

俄罗斯手机浏览器地址汇总
俄罗斯手机浏览器地址汇总

汇总俄罗斯Yandex手机浏览器官方网址入口,涵盖国际版与俄语版,适配移动端访问,一键直达搜索、地图、新闻等核心服务。

81

2026.01.09

漫蛙稳定版地址大全
漫蛙稳定版地址大全

漫蛙稳定版地址大全汇总最新可用入口,包含漫蛙manwa漫画防走失官网链接,确保用户随时畅读海量正版漫画资源,建议收藏备用,避免因域名变动无法访问。

431

2026.01.09

php学习网站大全
php学习网站大全

精选多个优质PHP入门学习网站,涵盖教程、实战与文档,适合零基础到进阶开发者,助你高效掌握PHP编程。

49

2026.01.09

php网站搭建教程大全
php网站搭建教程大全

本合集专为零基础用户打造,涵盖PHP网站搭建全流程,从环境配置到实战开发,免费、易懂、系统化,助你快速入门建站!

13

2026.01.09

热门下载

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

精品课程

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

共94课时 | 6.5万人学习

C 教程
C 教程

共75课时 | 4万人学习

C++教程
C++教程

共115课时 | 11.9万人学习

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

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