using Apewer;
using Apewer.Internals;
using Apewer.Source;
using System;
using System.Collections.Generic;
using System.Text;
namespace Apewer.Network
{
/// 简单邮件传输协议客户端。
[Serializable]
public sealed class MailClient : Record
{
[NonSerialized]
private TextSet _ts = new TextSet(false);
[NonSerialized]
private bool _smtpssl = false;
[NonSerialized]
private int _smtpport = 25;
/// 构造函数。
public MailClient() { }
/// 构造函数。
public MailClient(string server, string user, string pass)
{
Server = server;
User = user;
Pass = pass;
}
/// 服务器地址。
[Column]
public string Server { get { return _ts["Server"]; } set { _ts["Server"] = value; } }
/// 认证用户。
[Column]
public string User { get { return _ts["User"]; } set { _ts["User"] = value; } }
/// 认证密码。
[Column]
public string Pass { get { return _ts["Pass"]; } set { _ts["Pass"] = value; } }
/// 使用安全套接字层加密连接,默认不加密。
[Column]
public int SmtpPort { get { return _smtpport; } set { _smtpport = value; } }
/// 使用安全套接字层加密连接,默认不加密。
[Column]
public bool SmtpSsl { get { return _smtpssl; } set { _smtpssl = value; } }
/// 获取 JSON 文本。
public override string ToString()
{
return Json.From(this).ToString();
}
///
///
///
internal System.Net.Mail.SmtpClient ToInstance()
{
var credential = new System.Net.NetworkCredential();
credential.UserName = User;
credential.Password = Pass;
var instance = new System.Net.Mail.SmtpClient();
instance.Host = Server;
instance.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
instance.Host = Server;
instance.Credentials = credential;
instance.EnableSsl = SmtpSsl;
instance.Port = SmtpPort;
return instance;
}
}
}