Example #1
0
        public static MimeMessage CreateMultipart(IEnumerable<MimeMessage> subParts)
        {
            var message = new MimeMessage(subParts);

              message.Boundary = string.Format("----------------{0:D16}", DateTime.Now.Ticks);
              message.MimeType = MimeType.MultipartMixed;

              message.WriteContent("This is a multi-part message in MIME format.", ContentTransferEncodingMethod.SevenBit, Encoding.ASCII);

              return message;
        }
Example #2
0
        public static MimeMessage CreateAttachment(Stream contentStream, MimeType mimeType, string filename, string description, bool inline)
        {
            if (contentStream == null)
            throw new ArgumentNullException("contentStream");
              if (mimeType == null)
            throw new ArgumentNullException("mimeType");

              var disposition = inline ? MimeMessageDisposition.Inline : MimeMessageDisposition.Attachment;

              // TODO: Content-Type + name parameter
              var message = new MimeMessage(new[] {
            MimeHeader.CreateContentType(mimeType, null, null, filename),
            MimeHeader.CreateContentTransferEncoding(ContentTransferEncodingMethod.Base64),
            MimeHeader.CreateContentDisposition(disposition, filename),
            new MimeHeader("Content-Description", description, MimeEncodingMethod.Base64, Charsets.UTF8),
              });

              message.MimeType = mimeType;
              message.Disposition = disposition;

              message.WriteContent(ContentTransferEncodingMethod.Base64, delegate(BinaryWriter writer) {
            contentStream.CopyTo(writer);
              });

              return message;
        }