Как отправить документ Word по электронной почте с помощью C#

В этом простом руководстве мы научимся отправлять Word Document по электронной почте с помощью C#. В следующем примере вы увидите, как легко отправить документ Word в теле письма с помощью C#. Вы можете использовать этот пример в любой общедоступной операционной системе, такой как Linux, macOS или Windows.

Действия по отправке документа Word по электронной почте с использованием С#

  1. Установите библиотеки Aspose.Words и Aspose.Email из диспетчера пакетов NuGet в Visual Studio.
  2. Инициализируйте объект класса Document, чтобы загрузить документ для отправки по электронной почте.
  3. Сохраните документ как поток в промежуточном формате MHTML.
  4. Создайте экземпляр класса MailMessage, чтобы загрузить MHTML как MailMessage и установить его свойства.
  5. Создайте экземпляр SMTP-клиента и отправьте документ Word по электронной почте с помощью С#

В приведенных выше шагах мы загрузим документ Word для отправки по электронной почте на первом этапе. Затем мы сохраним загруженный документ в поток в промежуточном формате MHTML. На последующих шагах мы загрузим MHTML, используя * класс MailMessage *, и установим его свойства почты. Наконец, экземпляр клиентского класса SMTP будет создан для создания электронной почты из DOCX на C#.

Код для отправки документа Word по электронной почте с использованием С#

using System;
using System.IO;
using Aspose.Email;
using Aspose.Email.Clients;
using Aspose.Email.Clients.Smtp;
using Aspose.Words;
namespace WordKB
{
class WordsEmail
{
static void Main(string[] args)
{
// Use Aspose.Words and Aspose.Email licenses to remove evaluation version limitations
Aspose.Words.License LicenseForWord = new Aspose.Words.License();
LicenseForWord.SetLicense("Aspose.Total.API.lic");
Aspose.Email.License LicenseForEmail = new Aspose.Email.License();
LicenseForEmail.SetLicense("Aspose.Total.API.lic");
// Load the document for sending as email using Document class
Document EmaiDocument = new Document("EmailDocument.docx");
// Convert the document to MHTML format by using memory stream
Stream EmailStream = new MemoryStream();
EmaiDocument.Save(EmailStream, SaveFormat.Mhtml);
// Now, reset the EmailStream position to the beginning
EmailStream.Position = 0;
// Create an Aspose.Email message from the saved stream
Aspose.Email.MailMessage EmailMessage =
Aspose.Email.MailMessage.Load(EmailStream, new MhtmlLoadOptions());
// Set properties of email to send
EmailMessage.From = "your_from_email@email.com";
EmailMessage.To = "your_to_email@email.com";
EmailMessage.Subject = "Test Message using Aspose. Words and Aspose.Email APIs";
// Initialize SMTP client and it's properties to send email
SmtpClient SMTPClient = new SmtpClient();
SMTPClient.Host = "smtp.gmail.com";
SMTPClient.Username = "YourEmail@gmail.com";
SMTPClient.Password = "Your Gamil Password";
SMTPClient.Port = 587;
SMTPClient.SecurityOptions = SecurityOptions.SSLExplicit;
// Send word email message
SMTPClient.Send(EmailMessage);
}
}
}

В приведенном выше примере у нас есть * отправить документ Word в теле письма с использованием C# *, приняв двухэтапный подход. На первом этапе мы загрузили и сохранили DOCX как файл MHTML промежуточного формата с использованием потоков. Затем на втором этапе мы загрузили MHTML в поток, используя MailMessage. Наконец, используя SMTP-клиент, мы отправляем документ по электронной почте на C#.

В этом простом разделе мы рассмотрели, как создавать электронную почту из DOCX с помощью C#. Однако, если вам нужно преобразовать файл DOCX в файл MD, обратитесь к статье как конвертировать Word в Markdown с помощью C#.

 Русский