ใน บทความก่อนหน้า คุณได้เห็นวิธีสร้างอีเมล MS Outlook รวมถึง MSG, EML และ EMLX ทางโปรแกรมโดยใช้ C++ ในโพสต์นี้ คุณจะได้เรียนรู้วิธีการส่งอีเมล Outlook จากภายในแอปพลิเคชัน C++ สามารถสร้างอีเมลบนรันไทม์หรือโหลดจากไฟล์อีเมลที่บันทึกไว้แล้ว เช่น .msg, .emlx เป็นต้น
- ห้องสมุดอีเมล C ++
- ส่งอีเมล Outlook โดยใช้ใน C ++
- ส่งอีเมล Outlook ด้วยมุมมองอื่นโดยใช้ C ++
- สร้างและส่งอีเมลจำนวนมากโดยใช้ C++
- ส่งอีเมลเป็น TNEF โดยใช้ C ++
ส่งอีเมลด้วย C++ Email Library - ดาวน์โหลดฟรี
ในทำนองเดียวกัน โพสต์ก่อนหน้า เราจะใช้ Aspose.Email for C++ เพื่อส่งอีเมล Outlook คุณสามารถดาวน์โหลดไฟล์ไลบรารีได้จากส่วน ดาวน์โหลด หรือติดตั้งโดยใช้ NuGet
ส่งอีเมล Outlook โดยใช้ C++
ต่อไปนี้เป็นขั้นตอนในการส่งอีเมล Outlook ด้วยไคลเอ็นต์ SMTP โดยใช้ Aspose.Email for 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());
// เพิ่มไปยังผู้รับและเพิ่มผู้รับ 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 จะส่งข้อความนี้
client->Send(message);
}
catch (System::Exception& ex)
{
System::Diagnostics::Trace::WriteLine(System::ObjectExt::ToString(ex));
}
ส่งอีเมลจำนวนมากโดยใช้ C ++
อาจมีบางกรณีที่คุณต้องส่งอีเมลจำนวนมากในแต่ละครั้ง สำหรับกรณีดังกล่าว Aspose.Email for C++ มีคลาส MailMessageCollection เพื่อสรุปข้อความอีเมลหลายข้อความ ต่อไปนี้เป็นขั้นตอนในการส่งอีเมลจำนวนมาก
- สร้างหรือโหลดข้อความอีเมลโดยใช้คลาส MailMessage
- สร้างวัตถุของคลาส MailMessageCollection
- เพิ่มข้อความอีเมลไปยังคอลเลกชันโดยใช้เมธอด MailMessageCollection->add()
- สร้างวัตถุของคลาส SmtpClient
- ส่งอีเมลจำนวนมากโดยใช้เมธอด SmtpClient->Send(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 ใช้ Transport Neutral Encapsulation Format (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 โดยใช้ เอกสารประกอบ