Skip to content

Commit

Permalink
Attempt to fix issue #306
Browse files Browse the repository at this point in the history
  • Loading branch information
jstedfast committed May 19, 2017
1 parent 183d36d commit b75b557
Showing 1 changed file with 26 additions and 8 deletions.
34 changes: 26 additions & 8 deletions MimeKit/MimeMessage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2928,24 +2928,42 @@ public static MimeMessage CreateFromMailMessage (MailMessage message)
// Note: If the user has already sent their MailMessage via System.Net.Mail.SmtpClient,
// then the following MailMessage properties will have been merged into the Headers, so
// check to make sure our MimeMessage properties are empty before adding them.
if (msg.Sender == null && message.Sender != null)
if (message.Sender != null)
msg.Sender = (MailboxAddress) message.Sender;
if (msg.From.Count == 0 && message.From != null)

if (message.From != null) {
msg.Headers.Replace (HeaderId.From, string.Empty);
msg.From.Add ((MailboxAddress) message.From);
}
#if NET_3_5
if (msg.ReplyTo.Count == 0 && message.ReplyTo != null)
if (message.ReplyTo != null) {
msg.Headers.Replace (HeaderId.ReplyTo, string.Empty);
msg.ReplyTo.Add ((MailboxAddress) message.ReplyTo);
}
#else
if (msg.ReplyTo.Count == 0 && message.ReplyToList.Count > 0)
if (message.ReplyToList.Count > 0) {
msg.Headers.Replace (HeaderId.ReplyTo, string.Empty);
msg.ReplyTo.AddRange ((InternetAddressList) message.ReplyToList);
}
#endif
if (msg.To.Count == 0 && message.To.Count > 0)
if (message.To.Count > 0) {
msg.Headers.Replace (HeaderId.To, string.Empty);
msg.To.AddRange ((InternetAddressList) message.To);
if (msg.Cc.Count == 0 && message.CC.Count > 0)
}

if (message.CC.Count > 0) {
msg.Headers.Replace (HeaderId.Cc, string.Empty);
msg.Cc.AddRange ((InternetAddressList) message.CC);
if (msg.Bcc.Count == 0 && message.Bcc.Count > 0)
}

if (message.Bcc.Count > 0) {
msg.Headers.Replace (HeaderId.Bcc, string.Empty);
msg.Bcc.AddRange ((InternetAddressList) message.Bcc);
if (string.IsNullOrEmpty (msg.Subject))
}

if (message.SubjectEncoding != null)
msg.Headers.Replace (HeaderId.Subject, message.SubjectEncoding, message.Subject ?? string.Empty);
else
msg.Subject = message.Subject ?? string.Empty;

switch (message.Priority) {
Expand Down

0 comments on commit b75b557

Please sign in to comment.