ایجاد و ارسال ایمیل Outlook جاوا

Aspose.Email for Java یک API پردازش ایمیل قدرتمند است که تمام ویژگی های اولیه و همچنین پیشرفته را برای مدیریت ایمیل ارائه می دهد. این به شما امکان می دهد پیام های ایمیل Outlook را ایجاد کنید، ایمیل های موجود را بخوانید و پیام های MSG، EML، PST، OST، MBOX و MHT را از داخل برنامه های جاوا خود به فرمت های دیگر تبدیل کنید. در این مقاله، برخی از ویژگی های اساسی و در عین حال مهم نحوه ایجاد و ارسال ایمیل های Outlook با استفاده از جاوا را نشان خواهم داد.

من قصد دارم در این مقاله به ویژگی های زیر در ایجاد و ارسال ایمیل بپردازم:

Java Email API - نصب

Aspose.Email برای جاوا را می توان از بخش Downloads دانلود کرد یا با استفاده از تنظیمات Maven زیر نصب کرد.

مخزن:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

وابستگی:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>20.3</version>
    <classifier>jdk16</classifier>
</dependency>

پیام های ایمیل Outlook را با استفاده از جاوا ایجاد کنید

Aspose.Email برای جاوا به شما امکان می دهد پیام های ایمیل ایجاد کنید و آنها را در قالب ایمیل دلخواه خود از جمله EML، EMLX، MSG و MHTML ذخیره کنید. مراحل زیر برای ایجاد یک پیام ایمیل و ذخیره آن به عنوان یک فایل است.

  • یک نمونه از کلاس MailMessage ایجاد کنید.
  • ویژگی های پیام مانند موضوع، بدنه، به، CC و غیره را تنظیم کنید.
  • در صورت نیاز پیوست ها را اضافه کنید.
  • با استفاده از روش MailMessage.save() پیام ایمیل را در قالب دلخواه خود ذخیره کنید.

نمونه کد زیر نحوه ایجاد پیام ایمیل Outlook با استفاده از جاوا را نشان می دهد.

MailMessage message = new MailMessage();

// موضوع پیام، بدنه و اطلاعات فرستنده را تنظیم کنید
message.setSubject("New message created by Aspose.Email for .NET");
message.setBody("This is the body of the email.");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));

// افزودن به گیرندگان و گیرندگان CC
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));

// افزودن پیوست ها
message.getAttachments().addItem(new Attachment("word.docx"));

// پیام را در فرمت های EML، EMLX، MSG و MHTML ذخیره کنید
message.save("EmailMessage.eml", SaveOptions.getDefaultEml());
message.save("EmailMessage.emlx", SaveOptions.createSaveOptions(MailMessageSaveType.getEmlxFormat()));
message.save("EmailMessage.msg", SaveOptions.getDefaultMsgUnicode());
message.save("EmailMessage.mhtml", SaveOptions.getDefaultMhtml());

با استفاده از جاوا یک ایمیل با HTML Body ایجاد کنید

در مثال قبلی، ما به سادگی یک ایمیل متنی ساده ایجاد کردیم و آن را به عنوان یک فایل ایمیل ذخیره کردیم. با این حال، امروزه اکثر ایمیل ها با بدنه HTML ایجاد می شوند تا محتوای ایمیل را به خوبی سازماندهی و ارائه کنند. در این حالت از تگ های HTML برای مشخص کردن طرح ایمیل استفاده می شود. بیایید ببینیم چگونه با استفاده از Aspose.Email برای جاوا یک ایمیل با بدنه HTML ایجاد کنیم.

  • از کلاس MailMessage برای ایجاد یک پیام ایمیل جدید استفاده کنید.
  • Subject، To، CC و سایر خصوصیات را تنظیم کنید.
  • بدنه ایمیل را با استفاده از روش MailMessage.setHtmlBody(string) تنظیم کنید.
  • پیام ایمیل را با استفاده از روش MailMessage.save() ذخیره کنید.

نمونه کد زیر نحوه ایجاد ایمیل با بدنه HTML با استفاده از جاوا را نشان می دهد.

MailMessage message = new MailMessage();

// موضوع پیام، بدنه و اطلاعات فرستنده را تنظیم کنید
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));

// افزودن به گیرندگان و گیرندگان CC
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

// پیام را در فرمت های EML، EMLX، MSG و MHTML ذخیره کنید
message.save("EmailMessage.eml", SaveOptions.getDefaultEml()); 

با استفاده از جاوا یک ایمیل با رمزگذاری خاص ایجاد کنید

Aspose.Email برای جاوا همچنین به شما امکان می دهد رمزگذاری متن مورد نظر را برای پیام های ایمیل تنظیم کنید. استاندارد رمزگذاری برای اطلاع رسانی به برنامه ایمیل یا مرورگر در مورد نحوه تفسیر کاراکترهای موجود در متن ایمیل استفاده می شود. مراحل زیر برای ایجاد یک ایمیل با یک استاندارد رمزگذاری خاص است.

  • یک شی از کلاس MailMessage ایجاد کنید.
  • ویژگی های ایمیل مانند موضوع، به، CC و غیره را تنظیم کنید.
  • با استفاده از روش MailMessage.setBodyEncoding() استاندارد کدگذاری را تنظیم کنید.
  • ایمیل را با استفاده از روش MailMessage.save() ایجاد و ذخیره کنید.

نمونه کد زیر نحوه ایجاد ایمیل با استاندارد کدگذاری خاص با استفاده از جاوا را نشان می دهد.

MailMessage message = new MailMessage();

// موضوع پیام، بدنه و اطلاعات فرستنده را تنظیم کنید
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));

// رمزگذاری را مشخص کنید 
message.setBodyEncoding(Charset.forName("US-ASCII"));

// افزودن به گیرندگان و گیرندگان CC
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

// پیام را در فرمت های EML، EMLX، MSG و MHTML ذخیره کنید
message.save("EmailMessage.eml", SaveOptions.getDefaultEml()); 

با استفاده از جاوا ایمیل های Outlook ارسال کنید

هنگامی که یک ایمیل ایجاد کردید، می توانید آن را با استفاده از پروتکل انتقال نامه ساده (SMTP) برای گیرندگان آن ارسال کنید. در زیر مراحل ارسال پیام ایمیل با استفاده از Aspose.Email برای جاوا آمده است.

  • یک پیام ایمیل جدید ایجاد کنید یا یک پیام موجود را با استفاده از کلاس MailMessage بارگیری کنید.
  • یک نمونه از کلاس SmtpClient ایجاد کنید و میزبان، نام کاربری، رمز عبور و پورت آن را تنظیم کنید.
  • با استفاده از روش SmtpClient.send() ایمیل ارسال کنید.

نمونه کد زیر نحوه ارسال ایمیل از طریق کلاینت SMTP در جاوا را نشان می دهد.

MailMessage message = new MailMessage();

// موضوع پیام، بدنه و اطلاعات فرستنده را تنظیم کنید
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));

// رمزگذاری را مشخص کنید 
message.setBodyEncoding(Charset.forName("US-ASCII"));

// افزودن به گیرندگان و گیرندگان CC
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

// یک نمونه از کلاس SmtpClient ایجاد کنید
SmtpClient client = new SmtpClient();

// سرور میزبان پستی، نام کاربری، رمز عبور، پورت خود را مشخص کنید
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);

try
{
	// Client.Send این پیام را ارسال می کند
	client.send(message); 
}

catch (Exception ex)
{
	ex.printStackTrace();
}

ارسال ایمیل به صورت ناهمزمان با استفاده از جاوا

Aspose.Email برای جاوا همچنین به شما امکان می دهد ایمیل ها را به صورت ناهمزمان ارسال کنید. برای این کار می توانید از روش SmtpClient.beginSend() استفاده کنید. نمونه کد زیر نحوه ارسال ایمیل به صورت ناهمزمان با استفاده از جاوا را نشان می دهد.

MailMessage message = new MailMessage();

// موضوع پیام، بدنه و اطلاعات فرستنده را تنظیم کنید
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));

// رمزگذاری را مشخص کنید 
message.setBodyEncoding(Charset.forName("US-ASCII"));

// افزودن به گیرندگان و گیرندگان CC
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

// یک نمونه از کلاس SmtpClient ایجاد کنید
SmtpClient client = new SmtpClient();

// سرور میزبان پستی، نام کاربری، رمز عبور، پورت خود را مشخص کنید
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);

try
{
	// Client.beginSend این پیام را ارسال می کند
	client.beginSend(message); 
}

catch (Exception ex)
{
	ex.printStackTrace();
}

با استفاده از جاوا ایمیل ها را با رسید خواندن ارسال کنید

همچنین می توانید یک درخواست برای رسید خواندن به پیام های ایمیل اضافه کنید. این ویژگی به شما امکان می دهد پس از دریافت ایمیل، اعلان دریافت کنید. در زیر مراحل ایجاد و ارسال یک پیام ایمیل حاوی درخواست رسید خواندن آمده است.

  • با استفاده از کلاس MailMessage یک پیام ایمیل جدید ایجاد کنید.
  • گزینه اعلان تحویل را با استفاده از روش MailMessage.setDeliveryNotificationOptions() تنظیم کنید.
  • اطلاعات رسید را در هدر ایمیل اضافه کنید.
  • برای ارسال ایمیل از کلاس SmtpClient استفاده کنید.

نمونه کد زیر نحوه ارسال ایمیل حاوی رسید خواندن را با استفاده از جاوا نشان می دهد.

MailMessage message = new MailMessage();

// موضوع پیام، بدنه و اطلاعات فرستنده را تنظیم کنید
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));

// گزینه های اعلان را تنظیم کنید
message.setDeliveryNotificationOptions(DeliveryNotificationOptions.OnSuccess);
message.getHeaders().add("Return-Receipt-To", "from@domain.com");
message.getHeaders().add("Disposition-Notification-To", "from@domain.com"); 

// افزودن به گیرندگان 
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false)); 

// یک نمونه از کلاس SmtpClient ایجاد کنید
SmtpClient client = new SmtpClient();

// سرور میزبان پستی، نام کاربری، رمز عبور، پورت خود را مشخص کنید
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);

try
{
	// Client.Send این پیام را ارسال می کند
	client.send(message);
}

catch (Exception ex)
{
	ex.printStackTrace();
}

ارسال ایمیل انبوه با استفاده از جاوا

ممکن است موردی وجود داشته باشد که شما نیاز به ارسال تعداد زیادی ایمیل مختلف داشته باشید. در این صورت، می‌توانید به سادگی تمام پیام‌های ایمیل را به یک شی MailMessageCollection اضافه کنید و آن را برای ارسال به مشتری SMTP ارسال کنید. نمونه کد زیر نحوه ارسال تعداد زیادی ایمیل با استفاده از جاوا را نشان می دهد.

// نمونه هایی از کلاس MailMessage ایجاد کنید و To، From، Subject و Message را مشخص کنید
MailMessage message1 = new MailMessage("msg1@from.com", "msg1@to.com", "Subject1", "message1, how are you?");
MailMessage message2 = new MailMessage("msg1@from.com", "msg2@to.com", "Subject2", "message2, how are you?");
MailMessage message3 = new MailMessage("msg1@from.com", "msg3@to.com", "Subject3", "message3, how are you?");

// یک نمونه از MailMessageCollection ایجاد کنید و پیام های ایمیل را به آن اضافه کنید
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.addItem(message1);
manyMsg.addItem(message2);
manyMsg.addItem(message3);		

// SmtpClient ایجاد کنید و سرور، پورت، نام کاربری و رمز عبور را مشخص کنید
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");
 
try
{  
	// ارسال پیام
	client.send(manyMsg); 
}
catch (Exception ex)
{
	  ex.printStackTrace();
}

دموهای زنده

نتیجه

در این پست، من به شما نشان دادم که چگونه پیام های ایمیل Outlook را ایجاد کنید و آنها را با فرمت های EML، MSG و MTH با استفاده از جاوا ذخیره کنید. علاوه بر این، روش های مختلف ارسال ایمیل در جاوا با استفاده از سرویس گیرنده STMP نیز مورد بحث قرار گرفته است. می توانید با استفاده از اسناد درباره [کتابخانه ایمیل جاوا19 Aspose اطلاعات بیشتری کسب کنید.

همچنین ببینید

Create Outlook Messages and Send Emails with C#واکشی ایمیل‌ها از سرور POP3 در پایتوندریافت لیست مخاطبین از Microsoft Exchange Server در C#
دریافت لیست مخاطبین از Microsoft Exchange Server در جاواوارد کردن مخاطبین از Gmail در C#وارد کردن مخاطبین جیمیل در جاوا
انتقال ایمیل به پوشه در سرور Microsoft Exchange در سی شارپانتقال ایمیل به پوشه در سرور Microsoft Exchange در جاوافایل‌های PST Outlook را در پایتون تجزیه کنید
Read Emails from Shared Mailbox on Exchange Server in C#Read Emails from Shared Mailbox on Exchange Server in Javaخواندن فایل‌های MS Outlook PST در C#.NET
خواندن فایل های MS Outlook PST در جاواخواندن فایل‌های Outlook MSG در سی شارپWork with Conversations on MS Exchange Server in C#
Work with Conversations on MS Exchange Server in JavaWrite and Read Messages on Thunderbird Storage in C#Write and Read Messages on Thunderbird Storage in Java
Write and Read Messages on Thunderbird Storage in Pythonارسال ایمیل از طریق SMTP در پایتونRead Emails from Exchange Server in C#