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

Hika AI
Hika AI

Hika AI是一个免费的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不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Docker容器化部署与DevOps实践
Docker容器化部署与DevOps实践

本专题面向后端与运维开发者,系统讲解 Docker 容器化技术在实际项目中的应用。内容涵盖 Docker 镜像构建、容器运行机制、Docker Compose 多服务编排,以及在 DevOps 流程中的持续集成与持续部署实践。通过真实场景演示,帮助开发者实现应用的快速部署、环境一致性与运维自动化。

0

2026.02.11

Rust异步编程与Tokio运行时实战
Rust异步编程与Tokio运行时实战

本专题聚焦 Rust 语言的异步编程模型,深入讲解 async/await 机制与 Tokio 运行时的核心原理。内容包括异步任务调度、Future 执行模型、并发安全、网络 IO 编程以及高并发场景下的性能优化。通过实战示例,帮助开发者使用 Rust 构建高性能、低延迟的后端服务与网络应用。

1

2026.02.11

Spring Boot企业级开发与MyBatis Plus实战
Spring Boot企业级开发与MyBatis Plus实战

本专题面向 Java 后端开发者,系统讲解如何基于 Spring Boot 与 MyBatis Plus 构建高效、规范的企业级应用。内容涵盖项目架构设计、数据访问层封装、通用 CRUD 实现、分页与条件查询、代码生成器以及常见性能优化方案。通过完整实战案例,帮助开发者提升后端开发效率,减少重复代码,快速交付稳定可维护的业务系统。

3

2026.02.11

包子漫画网页版入口与全集阅读指南_正版免费漫画快速访问方法
包子漫画网页版入口与全集阅读指南_正版免费漫画快速访问方法

本专题汇总了包子漫画官网和网页版入口,提供最新章节抢先看方法、正版免费阅读指南,以及稳定访问方式,帮助用户快速直达包子漫画页面,无广告畅享全集漫画内容。

137

2026.02.10

MC.JS网页版快速畅玩指南_MC.JS官网在线入口及免安装体验方法
MC.JS网页版快速畅玩指南_MC.JS官网在线入口及免安装体验方法

本专题汇总了MC.JS官网入口和网页版快速畅玩方法,提供免安装访问、不同版本(1.8.8、1.12.8)在线体验指南,以及正版网页端操作说明,帮助玩家轻松进入MC.JS世界,实现即时畅玩与高效体验。

80

2026.02.10

谷歌邮箱网页版登录与注册全指南_Gmail账号快速访问与安全操作教程
谷歌邮箱网页版登录与注册全指南_Gmail账号快速访问与安全操作教程

本专题汇总了谷歌邮箱网页版的最新登录入口和注册方法,详细提供官方账号快速访问方式、网页版操作教程及安全登录技巧,帮助用户轻松管理Gmail邮箱账户,实现高效、安全的邮箱使用体验。

65

2026.02.10

铁路12306订票与退改全攻略_高效购票与座位选取技巧
铁路12306订票与退改全攻略_高效购票与座位选取技巧

本专题全面汇总铁路12306订票、退票、改签及候补订单操作技巧,提供车厢座位分布参考、抢票攻略和高铁安检注意事项,帮助新手用户快速掌握高效购票与退改流程,提高出行效率和体验。

78

2026.02.10

TensorFlow2深度学习模型实战与优化
TensorFlow2深度学习模型实战与优化

本专题面向 AI 与数据科学开发者,系统讲解 TensorFlow 2 框架下深度学习模型的构建、训练、调优与部署。内容包括神经网络基础、卷积神经网络、循环神经网络、优化算法及模型性能提升技巧。通过实战项目演示,帮助开发者掌握从模型设计到上线的完整流程。

1

2026.02.10

Vue3组合式API与组件开发实战
Vue3组合式API与组件开发实战

本专题讲解 Vue 3 组合式 API 的核心概念与应用技巧,深入分析响应式系统、生命周期管理、组件设计与复用策略。通过完整项目案例,指导前端开发者实现高性能、结构清晰的 Vue 应用,提升开发效率与代码可维护性。

13

2026.02.10

热门下载

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

精品课程

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

共94课时 | 9.2万人学习

C 教程
C 教程

共75课时 | 4.6万人学习

C++教程
C++教程

共115课时 | 17.1万人学习

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

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