public string Build()
{
var sb = new StringBuilder();
sb.Append("Type=Mail;");
sb.AppendFormat("From={0};", _fromAddress.Address);
if (!string.IsNullOrEmpty(_fromName))
{
sb.AppendFormat("FromName={0};", _fromName);
}
sb.Append("To=");
foreach (var address in _destinationAddresses)
{
sb.AppendFormat("{0},", address.Address);
}
sb.Length--;
sb.Append(";");
if (_carbonCopyAddresses != null && _carbonCopyAddresses.Length > 0)
{
sb.Append("Cc=");
foreach (var address in _carbonCopyAddresses)
{
sb.AppendFormat("{0},", address.Address);
}
sb.Length--;
sb.Append(";");
}
if (_blindCarbonCopyAddresses != null && _blindCarbonCopyAddresses.Length > 0)
{
sb.Append("Bcc=");
foreach (var address in _blindCarbonCopyAddresses)
{
sb.AppendFormat("{0},", address.Address);
}
sb.Length--;
sb.Append(";");
}
if (!string.IsNullOrEmpty(_replyTo))
{
sb.AppendFormat("ReplyTo={0};", _replyTo);
}
sb.AppendFormat("UseAttachment={0};", _sendAttachments ? "true" : "false");
if (!string.IsNullOrEmpty(_subject))
{
sb.AppendFormat("CustomSubject={0};", _subject);
}
if (!string.IsNullOrEmpty(_customBody))
{
sb.AppendFormat("CustomBody={0};", _customBody);
}
sb.AppendFormat("SmtpServer={0};", _serverName);
sb.Append("UseSsl=");
sb.Append(_useSsl ? "true" : "false");
sb.Append(";");
sb.AppendFormat("Port={0};", _smtpPort);
if (_mailPriority.HasValue)
{
sb.AppendFormat("Priority={0};", _mailPriority);
}
if (string.IsNullOrEmpty(_smtpUserName))
{
sb.Append("UseAuthentication=false;");
}
else
{
sb.Append("UseAuthentication=true;");
sb.AppendFormat("Username={0};", _smtpUserName);
sb.AppendFormat("Password={0};", _smtpUserPassword);
}
return sb.ToString();
}