Exemplo n.º 1
0
        private async Task SendMessageInternal(string from, string to, string message, IEnumerable <string> attachmentsPaths)
        {
            var messageToSent = new MimeMessage();

            messageToSent.From.Add(new MailboxAddress(@from, @from));
            messageToSent.To.Add(new MailboxAddress(to, to));
            messageToSent.Subject = message;

            var body = new TextPart("plain")
            {
                Text = message
            };

            var attachments = new List <MimePart>();

            foreach (var attachmentsPath in attachmentsPaths)
            {
                var attachment = new MimePart("image", "gif")
                {
                    Content                 = new MimeContent(File.OpenRead(attachmentsPath)),
                    ContentDisposition      = new ContentDisposition(ContentDisposition.Attachment),
                    ContentTransferEncoding = ContentEncoding.Base64,
                    FileName                = Path.GetFileName(attachmentsPath)
                };

                attachments.Add(attachment);
            }

            var multipart = new Multipart("mixed");

            multipart.Add(body);
            multipart.AddRange(attachments);

            messageToSent.Body = multipart;

            await _smtpClient.SendAsync(messageToSent);
        }