В этом простом руководстве мы научимся отправлять Word Document по электронной почте с помощью C#. В следующем примере вы увидите, как легко отправить документ Word в теле письма с помощью C#. Вы можете использовать этот пример в любой общедоступной операционной системе, такой как Linux, macOS или Windows.
Действия по отправке документа Word по электронной почте с использованием С#
- Установите библиотеки Aspose.Words и Aspose.Email из диспетчера пакетов NuGet в Visual Studio.
- Инициализируйте объект класса Document, чтобы загрузить документ для отправки по электронной почте.
- Сохраните документ как поток в промежуточном формате MHTML.
- Создайте экземпляр класса MailMessage, чтобы загрузить MHTML как MailMessage и установить его свойства.
- Создайте экземпляр 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#.