Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ SetContent()

void System.Net.Mail.MailMessage.SetContent ( bool allowUnicode)
inlineprivate

Definition at line 319 of file MailMessage.cs.

320 {
321 if (_bodyView != null)
322 {
324 _bodyView = null;
325 }
326 if (AlternateViews.Count == 0 && Attachments.Count == 0)
327 {
328 if (!string.IsNullOrEmpty(_body))
329 {
330 _bodyView = AlternateView.CreateAlternateViewFromString(_body, _bodyEncoding, _isBodyHtml ? "text/html" : null);
331 _message.Content = _bodyView.MimePart;
332 }
333 }
334 else if (AlternateViews.Count == 0 && Attachments.Count > 0)
335 {
336 MimeMultiPart mimeMultiPart = new MimeMultiPart(MimeMultiPartType.Mixed);
337 if (!string.IsNullOrEmpty(_body))
338 {
339 _bodyView = AlternateView.CreateAlternateViewFromString(_body, _bodyEncoding, _isBodyHtml ? "text/html" : null);
340 }
341 else
342 {
343 _bodyView = AlternateView.CreateAlternateViewFromString(string.Empty);
344 }
345 mimeMultiPart.Parts.Add(_bodyView.MimePart);
346 foreach (Attachment attachment in Attachments)
347 {
348 if (attachment != null)
349 {
350 attachment.PrepareForSending(allowUnicode);
351 mimeMultiPart.Parts.Add(attachment.MimePart);
352 }
353 }
354 _message.Content = mimeMultiPart;
355 }
356 else
357 {
358 MimeMultiPart mimeMultiPart2 = null;
359 MimeMultiPart mimeMultiPart3 = new MimeMultiPart(MimeMultiPartType.Alternative);
360 if (!string.IsNullOrEmpty(_body))
361 {
363 mimeMultiPart3.Parts.Add(_bodyView.MimePart);
364 }
365 foreach (AlternateView alternateView in AlternateViews)
366 {
367 if (alternateView == null)
368 {
369 continue;
370 }
371 alternateView.PrepareForSending(allowUnicode);
372 if (alternateView.LinkedResources.Count > 0)
373 {
374 MimeMultiPart mimeMultiPart4 = new MimeMultiPart(MimeMultiPartType.Related);
375 mimeMultiPart4.ContentType.Parameters["type"] = alternateView.ContentType.MediaType;
376 mimeMultiPart4.ContentLocation = alternateView.MimePart.ContentLocation;
377 mimeMultiPart4.Parts.Add(alternateView.MimePart);
378 foreach (LinkedResource linkedResource in alternateView.LinkedResources)
379 {
380 linkedResource.PrepareForSending(allowUnicode);
381 mimeMultiPart4.Parts.Add(linkedResource.MimePart);
382 }
383 mimeMultiPart3.Parts.Add(mimeMultiPart4);
384 }
385 else
386 {
387 mimeMultiPart3.Parts.Add(alternateView.MimePart);
388 }
389 }
390 if (Attachments.Count > 0)
391 {
392 mimeMultiPart2 = new MimeMultiPart(MimeMultiPartType.Mixed);
393 mimeMultiPart2.Parts.Add(mimeMultiPart3);
394 foreach (Attachment attachment2 in Attachments)
395 {
396 if (attachment2 != null)
397 {
398 attachment2.PrepareForSending(allowUnicode);
399 mimeMultiPart2.Parts.Add(attachment2.MimePart);
400 }
401 }
402 _message.Content = mimeMultiPart2;
403 }
404 else if (mimeMultiPart3.Parts.Count == 1 && string.IsNullOrEmpty(_body))
405 {
406 _message.Content = mimeMultiPart3.Parts[0];
407 }
408 else
409 {
410 _message.Content = mimeMultiPart3;
411 }
412 }
413 if (_bodyView != null && _bodyTransferEncoding != TransferEncoding.Unknown)
414 {
415 _bodyView.TransferEncoding = _bodyTransferEncoding;
416 }
417 }
override void Dispose(bool disposing)
static AlternateView CreateAlternateViewFromString(string content)
TransferEncoding _bodyTransferEncoding
AlternateViewCollection AlternateViews
AttachmentCollection Attachments
StringDictionary Parameters
Collection< MimeBasePart > Parts

References System.Net.Mail.MailMessage._body, System.Net.Mail.MailMessage._bodyEncoding, System.Net.Mail.MailMessage._bodyTransferEncoding, System.Net.Mail.MailMessage._bodyView, System.Net.Mail.MailMessage._isBodyHtml, System.Net.Mail.MailMessage.AlternateViews, System.Net.Mail.MailMessage.Attachments, System.Net.Mime.MimeBasePart.ContentLocation, System.Net.Mail.AttachmentBase.ContentType, System.Net.Mime.MimeBasePart.ContentType, System.Collections.ObjectModel.Collection< T >.Count, System.Net.Mail.AlternateView.CreateAlternateViewFromString(), System.Net.Mail.AlternateView.Dispose(), System.Net.Mail.AlternateView.LinkedResources, System.Net.Mime.ContentType.MediaType, System.Net.Mail.AttachmentBase.MimePart, System.Net.Mime.ContentType.Parameters, System.Net.Mime.MimeMultiPart.Parts, System.Net.Mail.Attachment.PrepareForSending(), and System.Net.Mail.AttachmentBase.PrepareForSending().

Referenced by System.Net.Mail.MailMessage.BeginSend(), and System.Net.Mail.MailMessage.Send().