اتوماسیون ایمیل در حال تبدیل شدن به یک روند پرطرفدار است، به ویژه در میان بازاریابان. این امکان را به آن‌ها می‌دهد که ایمیل‌های آماده را به طور خودکار در زمان مقرر به مخاطبان هدف خود ارسال کنند.

کد Java برای ارسال ایمیل

ارسال ایمیل با جاوا

در این مقاله، ما نحوه نوشتن کد برای ارسال ایمیل در Java را توضیح می‌دهیم. ما مراحل ایجاد و ارسال ایمیل با متن ساده یا بدنه HTML به‌طور برنامه‌نویسی را بررسی خواهیم کرد. علاوه بر این، ما نحوه ارسال ایمیل به‌صورت انبوه و ارسال ایمیل‌های ذخیره‌شده از دیسک با استفاده از Java را نشان خواهیم داد.

این مقاله به نکات زیر می‌پردازد:

کتابخانه Java برای ارسال ایمیل‌ها

ما از Java email library استفاده خواهیم کرد، که به شما امکان می‌دهد منطق کسب‌وکار خود را برای مدیریت ایمیل‌ها پیاده‌سازی کنید بدون اینکه درباره برنامه‌نویسی شبکه یا مشخصات فرمت بدانید. کتابخانه Java برای ارسال ایمیل‌ها می‌تواند به‌طور مستقیم با استفاده از پیکربندی Maven که در زیر داده شده است، نصب شود:

<repository>
	<id>ConholdateJavaAPI</id>
	<name>Conholdate Java API</name>
	<url>https://releases.conholdate.com/java/repo</url>
</repository>        
<dependency>
	<groupId>com.conholdate</groupId>
	<artifactId>conholdate-total</artifactId>
	<version>23.6</version>
	<type>pom</type>
</dependency>

برای پیکربندی‌های مربوط به سایر فریم‌ورک‌های جاوا، لطفاً به releases.conholdate.com مراجعه کنید.

چگونه کد بنویسیم تا یک ایمیل در Java ایجاد و ارسال کنیم

کتابخانه ایمیل Java پیام‌های ایمیل را از طریق یک سرور SMTP برای تحویل ارسال می‌کند. فرستنده، گیرندگان، موضوع و بدنه پیام با استفاده از String مشخص می‌شوند. در این بخش، ما در مورد نحوه نوشتن نمونه‌های کد در Java برای ارسال ایمیل با متن ساده و همچنین بدنه HTML بحث خواهیم کرد.

کد Java برای ارسال ایمیل با متن ساده

در زیر مراحل ایجاد و ارسال یک ایمیل با استفاده از SMTP آورده شده است:

  1. یک شی از MailMessage کلاس ایجاد کنید.
  2. موضوع، بدنه، آدرس فرستنده و آدرس دریافت کننده را مشخص کنید.
  3. یک شی از SmtpClient کلاس ایجاد کنید.
  4. تنظیم میزبان، پورت، نام کاربری، رمز عبور و گزینه‌های امنیتی.
  5. Call SmtpClient.send(MailMessage arg) method to send email message.

نمونه کد زیر نشان می‌دهد چگونه یک پیام ایمیل با متن ساده ایجاد و ارسال کنید:

// msg را به عنوان نمونه MailMessage اعلام کنید
MailMessage msg = new MailMessage();

// Set From and To field and Plain text body
msg.setFrom(MailAddress.to_MailAddress("sender@sender.com"));
msg.getTo().add("receiver@receiver.com");
msg.setBody("This is a Plain Text Body");

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

// مشخصات میزبان سرور پستی، نام کاربری، رمز عبور، شماره پورت و گزینه امنیتی خود را مشخص کنید.
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

try {
    // Client.Send این پیام را ارسال خواهد کرد
    client.send(msg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
    client.close();
    client.dispose();
}
client.close();
client.dispose();  

ارسال ایمیل‌ها با بدنه HTML

مراحل زیر برای ارسال یک پیام ایمیل با بدنه HTML به شرح زیر است:

  1. یک شی از MailMessage کلاس ایجاد کنید.
  2. موضوع، بدنه، آدرس فرستنده و آدرس دریافت کننده را مشخص کنید.
  3. بدن ایمیل را با استفاده از MailMessage.setHtmlBody(String value) متد تنظیم کنید.
  4. یک شیء از کلاس SmtpClient ایجاد کنید.
  5. تنظیم میزبان، پورت، نام کاربری، رمز عبور و گزینه‌های امنیتی.
  6. Call SmtpClient.send(MailMessage arg) method to send email message.

نمونه کد زیر نشان می‌دهد که چگونه می‌توان یک پیام ایمیل با بدنه HTML ارسال کرد.

// msg را به عنوان نمونه ای از MailMessage اعلام کنید
MailMessage msg = new MailMessage();

// از ویژگی‌های MailMessage استفاده کنید، مانند مشخص کردن فرستنده، گیرنده، پیام و HtmlBody
 msg.setFrom(MailAddress.to_MailAddress("newcustomeronnet@gmail.com"));
 msg.setTo(MailAddressCollection.to_MailAddressCollection("asposetest123@gmail.com"));
 msg.setSubject("Test subject");
 msg.setHtmlBody("<html><body>This is the HTML body</body></html>");

// یک شیء از کلاس SmtpClient ایجاد کنید
SmtpClient client = new SmtpClient();

// میزبان سرور پستی، نام کاربری، رمز عبور، شماره پورت و گزینه امنیتی خود را مشخص کنید.
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

try {
    // Client.Send این پیام را ارسال خواهد کرد
    client.send(msg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
    client.close();
    client.dispose();
}
client.close();
client.dispose();  

ارسال ایمیل‌های ذخیره شده از دیسک در Java

کتابخانه ایمیل Java به شما امکان می‌دهد فایل‌های EML(ایمیل الکترونیکی Outlook Express) را از دیسک بارگذاری کرده و از طریق SMTP ارسال کنید.

مراحل ارسال پیام‌های ایمیل ذخیره‌شده از دیسک به شرح زیر است:

  1. یک شی از کلاس MailMessage را با استفاده از روش MailMessage.load(String path) ایجاد کنید.
  2. یک شیء از کلاس SmtpClient ایجاد کنید.
  3. تنظیم میزبان، پورت، نام کاربری، رمز عبور و گزینه‌های امنیتی.
  4. Call SmtpClient.send(MailMessage arg) method to send email message.

نمونه کد زیر نشان می‌دهد که چگونه می‌توان ایمیل‌های ذخیره‌شده را از یک دیسک در Java ارسال کرد.

// یک فایل EML را در کلاس MailMessage بارگذاری کنید
MailMessage message = MailMessage.load(dataDir + "test.eml");

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

// Specify your mailing host server, Username, Password, Port # and Security option
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

try {
    // Client.Send will send this message
    client.send(msg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
    client.close();
    client.dispose();
}
client.close();
client.dispose();  

کد Java برای ارسال ایمیل به صورت انبوه

مراحل نوشتن کد Java برای ارسال ایمیل به صورت انبوه به شرح زیر است:

  1. چند شیء از MailMessage کلاس ایجاد کنید و پارامترها یا خصوصیات ضروری آن‌ها را مشخص کنید.
  2. یک شی از کلاس MailMessageCollection ایجاد کنید.
  3. ایمیل پیام اشیاء (که در مرحله اول ایجاد شده‌اند) را با استفاده از MailMessageCollection.addItem() به مجموعه اضافه کنید.
  4. یک شیء از کلاس SmtpClient ایجاد کنید. and set the host, port, username, and password.
  5. ایمیل ارسال کنید با استفاده از SmtpClient.send(MailMessageCollection arg) متد.

کد نمونه زیر نحوه ارسال ایمیل به صورت انبوه با استفاده از Java را نشان می‌دهد.

// SmtpClient را به عنوان client ایجاد کنید و سرور، پورت، نام کاربری و رمز عبور را مشخص کنید.
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");

// نمونه‌هایی از کلاس 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 ایجاد کنید و اشیاء MailMessage را اضافه کنید.
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.addItem(message1);
manyMsg.addItem(message2);
manyMsg.addItem(message3);

try {
    // پیام را به صورت انبوه ارسال کنید
    client.send(manyMsg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
    client.close();
    client.dispose();
}
client.close();
client.dispose();  

Get a free license

شما می‌توانید یک مجوز موقت رایگان دریافت کنید تا API را بدون محدودیت‌های ارزیابی امتحان کنید.

خلاصه‌سازی

در این مقاله، شما اطلاعاتی درباره نحوه نوشتن کد برای ارسال ایمیل در Java با استفاده از یک کتابخانه Java برای ارسال ایمیل کسب کرده‌اید. در ابتدا، یاد گرفتید که چگونه یک ایمیل با متن ساده یا بدنه HTML به‌طور برنامه‌نویسی ارسال کنید. پس از آن، دیدید که چگونه ایمیل‌ها را به‌طور انبوه ارسال کنید و نحوه ارسال ایمیل‌های ذخیره‌شده از دیسک با استفاده از جاوا.

شما می‌توانید به documentation مراجعه کنید تا ویژگی‌های دیگر را بررسی کنید.

Lastly, we would suggest you stay tuned at conholdate.com for regular updates.

Ask a question

شما می‌توانید سوالات یا درخواست‌های خود را در forum به ما اطلاع دهید.

به همچنین مراجعه کنید