You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.8 KiB
63 lines
1.8 KiB
using Apewer;
|
|
using Apewer.Source;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
|
|
namespace Apewer.Network
|
|
{
|
|
|
|
/// <summary>邮件地址。</summary>
|
|
[Serializable]
|
|
public sealed class MailAddress : Record
|
|
{
|
|
|
|
[NonSerialized]
|
|
private TextSet _ts = new TextSet(true);
|
|
|
|
/// <summary>邮件地址。</summary>
|
|
[Column]
|
|
public string Address { get { return _ts["Address"]; } set { _ts["Address "] = value; } }
|
|
|
|
/// <summary>名称。</summary>
|
|
[Column]
|
|
public string Name { get { return _ts["Name"]; } set { _ts["Name "] = value; } }
|
|
|
|
/// <summary>空记录。</summary>
|
|
public MailAddress() { }
|
|
|
|
/// <summary>收件人。</summary>
|
|
/// <param name="address">邮件地址。</param>
|
|
public MailAddress(string address)
|
|
{
|
|
Address = address;
|
|
}
|
|
|
|
/// <summary>收件人。</summary>
|
|
/// <param name="address">邮件地址。</param>
|
|
/// <param name="name">名称。</param>
|
|
public MailAddress(string address, string name)
|
|
{
|
|
Address = address;
|
|
Name = name;
|
|
}
|
|
|
|
/// <summary>获取 JSON 文本。</summary>
|
|
public new string ToString()
|
|
{
|
|
return Json.From(this).ToString();
|
|
}
|
|
|
|
/// <exception cref="ArgumentException"></exception>
|
|
/// <exception cref="ArgumentNullException"></exception>
|
|
/// <exception cref="InvalidOperationException"></exception>
|
|
internal System.Net.Mail.MailAddress ToInstance(Encoding encoding)
|
|
{
|
|
if (TextUtility.IsBlank(Address)) return null;
|
|
var name = TextUtility.IsBlank(Name) ? null : Name;
|
|
return new System.Net.Mail.MailAddress(Address, name, encoding);
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|