استخدام مستند Microsoft Word كنص الرسالة وإرسال البريد الإلكتروني

توضح لك هذه المقالة كيفية استخدام مستند Microsoft Word كمتن البريد الإلكتروني وإرساله إلى المستلمين. المستند النموذجي هو فاتورة مبيعات من عينة قاعدة بيانات Northwind، تم تصديره إلى تنسيق Microsoft Word. يتعامل Aspose.Email for Java مع بروتوكولات الشبكة وميزات Microsoft Outlook ولا يمكنه التعامل مع مستندات Microsoft Word. لتجاوز ذلك، تستخدم العينات في هذه المقالة Aspose.Words for Java لتحميل مستند Word وتحويله إلى تنسيق MHTML. يستخدم Aspose.Email for Java مستند MHTML في جسم البريد الإلكتروني.

استخدام مستندات Microsoft Word كنص البريد الإلكتروني

توضح عينات البرمجة أدناه كيفية إرسال مستند Word كنص بريد إلكتروني باستخدام Aspose.Words for Java و Aspose.Email for Java:

  1. حمّل مستند Microsoft Word باستخدام Aspose.Word for Java’s Document فئة.
  2. احفظه بتنسيق MHTML.
  3. حمّل مستند MHTML باستخدام Aspose.Email for Java’s MailMessage فئة لتحديد جسم البريد الإلكتروني.
  4. عيّن خصائص أخرى للرسالة باستخدام MailMessage خصائص وأساليب الفئة.
  5. أرسل البريد الإلكتروني باستخدام Aspose.Email for Java’s SMTPClient فئة.

يمكن رؤية المستند الأصلي، وهو فاتورة مبيعات تم تصديرها إلى Microsoft Word من عينة Microsoft Northwind، أدناه.

todo:image_alt_text

عند إرسال الرسالة واستلامها في Microsoft Outlook، تبدو الرسالة كما هو موضح أدناه.

todo:image_alt_text

يُحافظ على تنسيق HTML والصور كما هو في المستند الأصلي عند عرضه إما في Outlook أو عميل بريد ويب مثل Gmail أو Hotmail. أدناه لقطة شاشة للرسالة عند فتحها في Gmail عبر متصفح Chrome.

todo:image_alt_text

يعرض مقطع الشيفرة التالي كيفية استخدام مستند Microsoft Word كنص الرسالة وإرسال بريد إلكتروني باستخدام SmtpClient مثيل الفئة.

// The path to the File directory
String dataDir = "data/";

// Load a Word document from disk and save it to stream as MHTML
Document wordDocument = new Document(dataDir + "Test.doc");
ByteArrayOutputStream mhtmlStream = new ByteArrayOutputStream();
wordDocument.save(mhtmlStream, SaveFormat.MHTML);

// Load the MHTML in a MailMessage object
MailMessage message = MailMessage.load(new ByteArrayInputStream(mhtmlStream.toByteArray()), new MhtmlLoadOptions());
message.setSubject("Sending Invoice in Email");
message.setFrom(new MailAddress("sender@gmail.com"));
message.setTo(MailAddressCollection.to_MailAddressCollection("recipient@gmail.com"));

// Save the message in MSG format to disk
message.save(dataDir + "WordDocAsEmailBody_out.msg", SaveOptions.getDefaultMsgUnicode());

    // Send the email message
try (SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "sender@gmail.com", "pwd")) {
    client.setSecurityOptions(SecurityOptions.SSLExplicit);
    client.send(message);
}