使用 SmtpClient 类发送电子邮件的简单有效方法






3.74/5 (34投票s)
使用 SmtpClient 类发送电子邮件的简单有效方法
引言
SMTP(发音为单个字母)实际上代表什么? 它是简单邮件传输协议的缩写,该协议用于在服务器之间发送电子邮件。 大多数通过 Internet 发送邮件的电子邮件系统都使用 SMTP 将邮件从一台服务器发送到另一台服务器; 然后可以使用电子邮件客户端使用 POP 或 IMAP 服务器以及配置电子邮件应用程序时的 SMTP 服务器来检索邮件。
在本文中,我们将创建一个简单的函数来发送电子邮件。
背景
允许用户从 Web 应用程序/Windows 应用程序发送反馈是一个非常常见的功能。 我关心的是如何使用 Microsoft Visual Studio .NET 使其简单化。
Using the Code
现在我们将讨论我用于此功能的 .NET 库。 Microsoft Visual Studio .NET 提供了以下命名空间:
System.Net
System.Net.Mail
我们将使用以下类,这些类将在上述命名空间中找到
MailMessage
NetworkCredential
SmtpClient
在开始之前,让我们简要地看一下上面三个类
MailMessage
表示可以使用 SmtpClient
类发送的电子邮件消息。 MailMessage
类的实例用于构造电子邮件消息,这些消息被传输到 SMTP 服务器,以便使用 SmtpClient
类进行传递。
要指定电子邮件消息的发送者、收件人和内容,请使用 MailMessage
类的相关属性。
更多详细信息可以在此链接中找到。
NetworkCredential
NetworkCredential
类是一个基类,它在基于密码的身份验证方案(如 basic、digest、NTLM 和 Kerberos)中提供凭据。 实现 ICredentials
接口的类(例如 CredentialCache
类)返回 NetworkCredential
对象。
此类不支持基于公钥的身份验证方法,例如安全套接字层 (SSL) 客户端身份验证。
更多详细信息可以在此链接中找到。
SmtpClient
允许应用程序使用简单邮件传输协议 (SMTP) 发送电子邮件。
SmtpClient
类用于将电子邮件发送到 SMTP 服务器进行传递。 下表所示的类用于构造可以使用 SmtpClient
类发送的电子邮件消息。
更多详细信息可以在此链接中找到。
C# 代码示例
void sendEmail(string strFrom
, string strTo
, string strSubject
, string strBody)
{
/// Author, Md. Marufuzzaman
/// Created,
/// Local dependency, Microsoft .Net framework
/// Description, Send an email using (SMTP).
MailMessage objMailMessage = new MailMessage();
System.Net.NetworkCredential objSMTPUserInfo =
new System.Net.NetworkCredential();
SmtpClient objSmtpClient = new SmtpClient();
try
{
objMailMessage.From = new MailAddress(strFrom);
objMailMessage.To.Add(new MailAddress(strTo));
objMailMessage.Subject = strSubject;
objMailMessage.Body = strBody;
objSmtpClient = new SmtpClient("172.0.0.1"); /// Server IP
objSMTPUserInfo = new System.Net.NetworkCredential
("User name", "Password","Domain");
objSmtpClient.Credentials = objSMTPUserInfo;
objSmtpClient.UseDefaultCredentials = false;
objSmtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
objSmtpClient.Send(objMailMessage);
}
catch (Exception ex)
{ throw ex; }
finally
{
objMailMessage = null;
objSMTPUserInfo = null;
objSmtpClient = null;
}
}
下面给出了 SmtpClient
类的成员表
类 | 描述 |
|
表示文件附件。 此类允许您将文件、流或文本附加到电子邮件消息。 |
|
表示发件人和收件人的电子邮件地址。 |
|
表示电子邮件消息。 |
关注点
NetworkCredential
类不支持基于公钥的身份验证方法,例如安全套接字层 (SSL) 客户端身份验证。
结论
这是一个非常简单易用的方法。 我希望它对您有所帮助。 尽情享受吧!
历史
- 2009 年 8 月 5 日:初始帖子