MailAddress 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示电子邮件发件人或收件人的地址。
public ref class MailAddress
public class MailAddress
type MailAddress = class
Public Class MailAddress
- 继承
-
MailAddress
示例
下面的代码示例演示如何使用SmtpClient和MailAddressMailMessage类发送电子邮件。
public static void CreateCopyMessage(string server)
{
MailAddress from = new MailAddress("[email protected]", "Ben Miller");
MailAddress to = new MailAddress("[email protected]", "Jane Clayton");
MailMessage message = new MailMessage(from, to);
// message.Subject = "Using the SmtpClient class.";
message.Subject = "Using the SmtpClient class.";
message.Body = @"Using this feature, you can send an email message from an application very easily.";
// Add a carbon copy recipient.
MailAddress copy = new MailAddress("[email protected]");
message.CC.Add(copy);
SmtpClient client = new SmtpClient(server);
// Include credentials if the server requires them.
client.Credentials = CredentialCache.DefaultNetworkCredentials;
Console.WriteLine("Sending an email message to {0} by using the SMTP host {1}.",
to.Address, client.Host);
try
{
client.Send(message);
}
catch (Exception ex)
{
Console.WriteLine("Exception caught in CreateCopyMessage(): {0}",
ex.ToString());
}
}
注解
类MailAddress用于SmtpClientMailMessage存储电子邮件的地址信息。
邮件地址由 用户名、 主机名和可选 显示名称组成。 DisplayName 如果对其进行编码,则可以包含非 ASCII 字符。
该 MailAddress 类支持以下邮件地址格式:
的简单地址格式
user@host。 DisplayName如果未设置,则这是生成的邮件地址格式。标准带引号的
"display name" <user@host>显示名称格式。 如果设置了, DisplayName 则这是生成的格式。- 如果尚未包含尖括号,则会在 User 名称和名称 Host 周围添加尖括号。 例如,
"display name" user@host更改为"display name" <user@host>。 - 如果尚未包含它们,则会在周围 DisplayName添加引号。 例如,
display name <user@host>更改为"display name" <user@host>。 - 属性支持 DisplayName Unicode 字符。
- 如果尚未包含尖括号,则会在 User 名称和名称 Host 周围添加尖括号。 例如,
在这两种格式中,允许以下元素:
-
User带引号的名称。 例如,
"user name"@host。 - 括号域文本。 例如,
<user@[my domain]>。 - 评论。 例如,
(comment)"display name"(comment)<(comment)user(comment)@(comment)domain(comment)>(comment)。 注释在传输之前被删除。 - .NET 9 及更早版本:用户名中的连续和尾随点。 例如,
user...name..@host。 (从 .NET 10 开始,不允许连续点。
逗号用于分隔邮件地址列表中的元素。 因此,不应在列表中未带引号的显示名称中使用逗号。 允许以下邮件地址:
"John, Doe" <user@host>, "Bob, Smith" <user2@host>
不允许以下邮件地址:
John, Doe <user@host>, Bob, Smith <user2@host>
引号可以嵌入在带引号的字符串中,但它们必须转义。 允许以下邮件地址:
"John \"Jr\" Doe" <user@host>
"\"John \\\"Jr\\\" Doe\" <user@host>"
不允许以下邮件地址:
"John "Jr" Doe" <user@host>
如果未引用用户名,则字符串开头(或逗号)和地址之间的所有文本都被视为其中的一部分 DisplayName,包括注释。 例如:
(non comment) unquoted display (non comment) name (non comment) <user@host>
尽管该 MailAddress 类接受有效邮件地址,但其他邮件服务器可能不接受该邮件地址。
此类 MailAddress 不支持以下邮件地址格式:
- 带引号和无引号的显示名称。 例如,
display "name" <user@host>。 - 组,如 IETF 发布的 RFC 2822 第 3.4 节中所述。
- 或已过时的用户名格式
"user"."name"@hostuser."name"@host"user".name@host。 - 仅.NET 10 及更高版本:用户名中的连续点,例如
[email protected]。
构造函数
| 名称 | 说明 |
|---|---|
| MailAddress(String, String, Encoding) |
使用指定的地址、显示名称和编码初始化类的新实例 MailAddress 。 |
| MailAddress(String, String) |
使用指定的地址和显示名称初始化类的新实例 MailAddress 。 |
| MailAddress(String) |
使用指定的地址初始化类的新实例 MailAddress 。 |
属性
| 名称 | 说明 |
|---|---|
| Address |
获取创建此实例时指定的电子邮件地址。 |
| DisplayName |
获取由创建此实例时指定的显示名称和地址信息的显示名称。 |
| Host |
获取创建此实例时指定的地址的主机部分。 |
| User |
从创建此实例时指定的地址获取用户信息。 |
方法
| 名称 | 说明 |
|---|---|
| Equals(Object) |
比较两个邮件地址。 |
| GetHashCode() |
返回邮件地址的哈希值。 |
| GetType() |
获取当前实例的 Type。 (继承自 Object) |
| MemberwiseClone() |
创建当前 Object的浅表副本。 (继承自 Object) |
| ToString() |
返回此实例的字符串表示形式。 |
| TryCreate(String, MailAddress) |
创建新的 MailAddress。 如果无法创建对象,则不会引发异常。 |
| TryCreate(String, String, Encoding, MailAddress) |
新建 MailAddress。 如果无法创建对象,则不会引发异常。 |
| TryCreate(String, String, MailAddress) |
新建 MailAddress。 如果无法创建对象,则不会引发异常。 |