public Task <IMimeMessage> CreateInstance(IEnumerable <MimeHeader> headers, IEnumerable <MimeEntity> bodyParts, IEnumerable <MimeEntity> attachments) { var message = new global::MimeKit.MimeMessage(); message.Headers.Clear(); foreach (var header in headers) { message.Headers.Add(header.Field, header.Value); } var multipartMixed = new Multipart("mixed"); var multipartAlternative = new MultipartAlternative(); foreach (var bodyPart in bodyParts) { multipartAlternative.Add(CreateMimePart <TextPart>(bodyPart)); } multipartMixed.Add(multipartAlternative); foreach (var attachment in attachments) { multipartMixed.Add(CreateMimePart <MimePart>(attachment)); } message.Body = multipartMixed; return(Task.FromResult((IMimeMessage) new MimeMessage(message))); }
internal MimeMessage(global::MimeKit.MimeMessage mimeMessage) { _mimeMessage = mimeMessage ?? throw new ArgumentNullException(nameof(mimeMessage)); Headers = _mimeMessage.Headers.Select(x => new MimeHeader(x.Field, x.Value)); BodyParts = GetBodyParts(); Attachments = GetAttachments(); Size = CalculateMessageSize(); IsEncrypted = CheckIfEncrypted(); }
public void Can_Construct() { // Arrange var mimeMessage = new global::MimeKit.MimeMessage(); // Act var result = new MimeMessage(mimeMessage); // Assert Assert.That(result, Is.Not.Null); }
public void ToString_Returns_Correct_Value_For_An_Empty_Message() { // Arrange var expectedMessage = ""; var message = new global::MimeKit.MimeMessage(); message.Headers.Clear(); var mimeMessage = new MimeMessage(message); // Act var result = mimeMessage.ToString(); // Assert // MimeKit adds a carriage return to the end of the message when loading it Assert.That(result, Is.EqualTo(expectedMessage + Environment.NewLine)); }
public void Returns_Correct_Value_For_An_Empty_Message() { // Arrange var message = new global::MimeKit.MimeMessage(); message.Headers.Clear(); var mimeMessage = new MimeMessage(message); // MimeKit adds a carriage return to the end of the message when loading it // This results in an extra two bytes var expectedSize = 0 + 2; // Act var result = mimeMessage.Size; // Assert Assert.That(result, Is.EqualTo(expectedSize)); }
private IMimeMessage CreateMimeMessage(global::MimeKit.MimeMessage parsedMimeMessage) { return(new MimeMessage(parsedMimeMessage)); }