في المقالة السابقة ، رأيت كيفية إنشاء رسائل بريد إلكتروني لبرنامج MS Outlook بما في ذلك MSG و EML و EMLX باستخدام C++ برمجيًا. في هذا المنشور ، ستتعلم كيفية إرسال رسائل بريد إلكتروني في Outlook من داخل تطبيقات C++. يمكن إنشاء رسائل البريد الإلكتروني في وقت التشغيل أو تحميلها من ملفات البريد الإلكتروني المحفوظة بالفعل مثل .msg أو .emlx أو إلخ.
- مكتبة البريد الإلكتروني C++
- إرسال رسائل البريد الإلكتروني لبرنامج Outlook باستخدام C++
- إرسال رسائل بريد إلكتروني في Outlook مع طريقة العرض البديلة باستخدام C++
- إنشاء وإرسال رسائل البريد الإلكتروني المجمعة باستخدام C++
- إرسال رسائل البريد الإلكتروني كـ TNEF باستخدام C++
إرسال رسائل البريد الإلكتروني باستخدام مكتبة البريد الإلكتروني C++ - تنزيل مجاني
وبالمثل المنشور السابق ، سنستخدم Aspose.Email لـ C++ لإرسال رسائل البريد الإلكتروني لبرنامج Outlook. يمكنك تنزيل ملفات المكتبة من قسم التنزيلات أو تثبيتها باستخدام NuGet.
إرسال رسائل البريد الإلكتروني لبرنامج Outlook باستخدام C++
فيما يلي خطوات إرسال بريد إلكتروني في Outlook مع عميل SMTP باستخدام Aspose.Email لـ C++.
- أنشئ بريدًا إلكترونيًا في Outlook أو حمله من ملف باستخدام فئة MailMessage.
- قم بإنشاء كائن من SmtpClient.
- قم بتعيين المضيف واسم المستخدم وكلمة المرور ورقم المنفذ.
- اضبط خيارات الأمان.
- أرسل بريدًا إلكترونيًا باستخدام SmtpClient-> Send().
يوضح نموذج التعليمات البرمجية التالي كيفية إرسال بريد إلكتروني في Outlook باستخدام C++.
// إنشاء مثيل جديد لفئة MailMessage
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();
System::SharedPtr<SmtpClient> client = System::MakeObject<SmtpClient>();
// تعيين موضوع الرسالة ونص Html ومعلومات المرسل
message->set_Subject(u"New message created by Aspose.Email for .NET");
message->set_From(System::MakeObject<MailAddress>(L"from@domain.com", L"Sender Name", false));
message->set_Body(System::String(u"<b>This line is in bold.</b> <br/> <br/>") + u"<font color=blue>This line is in blue color</font>");
message->set_BodyEncoding(System::Text::Encoding::get_ASCII());
// قم بإضافة مستلمي TO وإضافة مستلمي CC
message->get_To()->Add(System::MakeObject<MailAddress>(L"to1@domain.com", L"Recipient 1", false));
message->get_To()->Add(System::MakeObject<MailAddress>(L"to2@domain.com", L"Recipient 2", false));
message->get_CC()->Add(System::MakeObject<MailAddress>(L"cc1@domain.com", L"Recipient 3", false));
// حدد خادم مضيف البريد واسم المستخدم وكلمة المرور والمنفذ رقم وخيار الأمان
client->set_Host(u"mail.server.com");
client->set_Username(u"username");
client->set_Password(u"password");
client->set_Port(587);
client->set_SecurityOptions(Aspose::Email::Clients::SecurityOptions::SSLExplicit);
try
{
// أرسل هذه الرسالة
client->Send(message);
}
catch (System::Exception& ex)
{
}
C++ إرسال رسائل بريد إلكتروني في Outlook مع طريقة العرض البديلة
يمكنك أيضًا تحديد طريقة عرض بديلة للبريد الإلكتروني لإنشاء نسخة من الرسالة بتنسيق مختلف. على سبيل المثال ، إذا كانت رسالتك بتنسيق HTML ، فيمكنك إنشاء طريقة عرض بديلة تحتوي على نص عادي. من أجل إنشاء طريقة عرض بديلة ، يمكنك استخدام طريقة MailMessage-> getAlternateViews() -> Add (AlternateView :: CreateAlternateViewFromString (u “text”)).
يوضح نموذج التعليمات البرمجية التالي كيفية إرسال بريد إلكتروني باستخدام طريقة عرض بديلة باستخدام C++.
// قم بإنشاء مثيل لفئة MailMessage
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();
// من و الى الميدان
message->set_From(u"sender@sender.com");
message->get_To()->Add(u"receiver@receiver.com");
System::SharedPtr<AlternateView> alternate;
// قم بإنشاء مثيل AlternateView لعرض رسالة بريد إلكتروني باستخدام المحتوى المحدد في السلسلة
alternate = AlternateView::CreateAlternateViewFromString(u"This is the alternate Text");
// أضف نصًا بديلًا
message->get_AlternateViews()->Add(alternate);
// قم بإنشاء مثيل لفئة SmtpClient
System::SharedPtr<SmtpClient> client = System::MakeObject<SmtpClient>();
// حدد خادم مضيف البريد واسم المستخدم وكلمة مرور البريد والمنفذ رقم
client->set_Host(u"smtp.server.com");
client->set_Username(u"Username");
client->set_Password(u"Password");
client->set_Port(25);
try
{
// العميل-> إرسال سيرسل هذه الرسالة
client->Send(message);
}
catch (System::Exception& ex)
{
System::Diagnostics::Trace::WriteLine(System::ObjectExt::ToString(ex));
}
إرسال رسائل بريد إلكتروني مجمعة باستخدام C++
قد تكون هناك حالة عندما تحتاج إلى إرسال مجموعة كبيرة من رسائل البريد الإلكتروني في وقت واحد. في مثل هذه الحالات ، يوفر Aspose.Email لـ C++ فئة MailMessageCollection لتغليف رسائل بريد إلكتروني متعددة. فيما يلي خطوات لإرسال الجزء الأكبر من رسائل البريد الإلكتروني.
- قم بإنشاء أو تحميل رسائل البريد الإلكتروني باستخدام فئة MailMessage.
- قم بإنشاء كائن من فئة MailMessageCollection.
- أضف رسائل بريد إلكتروني إلى المجموعة باستخدام MailMessageCollection-> add() طريقة.
- قم بإنشاء كائن من فئة SmtpClient.
- إرسال رسائل بريد إلكتروني مجمعة باستخدام SmtpClient-> إرسال (MailMessageCollection) طريقة.
يوضح نموذج التعليمات البرمجية التالي كيفية إرسال الجزء الأكبر من رسائل البريد الإلكتروني باستخدام C++.
// قم بإنشاء SmtpClient كعميل وحدد الخادم والمنفذ واسم المستخدم وكلمة المرور
System::SharedPtr<SmtpClient> client = System::MakeObject<SmtpClient>(u"mail.server.com", 25, u"Username", u"Password");
// إنشاء مثيلات لفئة MailMessage وتحديد إلى ومن والموضوع والرسالة
System::SharedPtr<MailMessage> message1 = System::MakeObject<MailMessage>(u"msg1@from.com", u"msg1@to.com", u"Subject1", u"message1, how are you?");
System::SharedPtr<MailMessage> message2 = System::MakeObject<MailMessage>(u"msg1@from.com", u"msg2@to.com", u"Subject2", u"message2, how are you?");
System::SharedPtr<MailMessage> message3 = System::MakeObject<MailMessage>(u"msg1@from.com", u"msg3@to.com", u"Subject3", u"message3, how are you?");
// قم بإنشاء مثيل لفئة MailMessageCollection
System::SharedPtr<MailMessageCollection> manyMsg = System::MakeObject<MailMessageCollection>();
manyMsg->Add(message1);
manyMsg->Add(message2);
manyMsg->Add(message3);
// إرسال بالجملة
try
{
// إرسل رسائل
client->Send(manyMsg);
}
catch (System::Exception& ex)
{
System::Diagnostics::Trace::WriteLine(System::ObjectExt::ToString(ex));
}
C++ إرسال رسائل بريد إلكتروني كـ TNEF
يستخدم MS Outlook تنسيق تغليف محايد للنقل(TNEF) لإرسال رسائل البريد الإلكتروني التي تحتوي على هيئات RTF. في هذه الحالة ، يتم استخراج التنسيق من البريد الإلكتروني ويتم ترميزه كـ TNEF. في الطرف المستلم ، إذا كان العميل يدعم TNEF ، فإنه يجمع النص العادي ومرفق TNEF لإنشاء بريد RTF الإلكتروني. خلاف ذلك ، يتم عرض البريد الإلكتروني كنص عادي. لإرسال رسائل البريد الإلكتروني كـ TNEF ، يمكنك استخدام طريقة SmtpClient-> setUseTnef (bool).
يُظهر نموذج التعليمات البرمجية التالي كيفية إرسال بريد إلكتروني في Outlook كـ TNEF باستخدام C++.
try
{
// مسار ملف البريد الإلكتروني
System::String emlFileName = u"Message.eml";
// بريد إلكتروني عبر TNEF
// تحميل من eml
System::SharedPtr<MailMessage> eml1 = MailMessage::Load(emlFileName, System::MakeObject<EmlLoadOptions>());
eml1->set_From(u"somename@gmail.com");
eml1->get_To()->Clear();
eml1->get_To()->Add(System::MakeObject<MailAddress>(u"first.last@test.com"));
eml1->set_Subject(u"With PreserveTnef flag during loading");
eml1->set_Date(System::DateTime::get_Now());
System::SharedPtr<SmtpClient> client = System::MakeObject<SmtpClient>(u"smtp.gmail.com", 587, u"somename", u"password");
client->set_SecurityOptions(Aspose::Email::Clients::SecurityOptions::Auto);
client->set_UseTnef(true);
// استخدم هذه العلامة للإرسال كـ TNEF
client->Send(eml1);
}
catch (System::Exception& ex)
{
// التقاط الاستثناء
}
استنتاج
في هذا المنشور ، رأيت كيفية إرسال رسائل بريد إلكتروني في Outlook باستخدام C++. بالإضافة إلى ذلك ، تعرفت على كيفية إرسال رسائل بريد إلكتروني مجمعة أو إرسال رسائل بريد إلكتروني باستخدام طريقة عرض بديلة أو إرسال رسائل بريد إلكتروني كـ TNEF ضمن تطبيقات C++. يمكنك استكشاف المزيد حول مكتبة البريد الإلكتروني C++ الخاصة بـ Aspose باستخدام التوثيق.