E-posta otomasyonu özellikle pazarlamacılar arasında popüler hale geldi. Planlanan zamanda hedef kitlelerine önceden hazırlanmış e-postaları otomatik olarak göndermelerine olanak tanır.

E-posta Göndermek için Java Kodu

Java ile e-posta gönderme

Bu yazımızda Java’da e-posta göndermek için kod yazmayı açıklıyoruz. Programlı olarak düz metin veya HTML gövdesiyle e-posta oluşturma ve gönderme adımlarını göreceğiz. Ayrıca, Java kullanarak e-postaların toplu olarak nasıl gönderileceğini ve depolanan e-postaların diskten nasıl gönderileceğini göstereceğiz.

Bu makale aşağıda verilen noktaları kapsayacaktır:

E-posta göndermek için Java kütüphanesi

Ağ programlama veya format özellikleri hakkında bilgi sahibi olmadan e-postaları yönetmek için iş mantığınızı uygulamanıza olanak tanıyan Java e-posta kitaplığı’nı kullanacağız. E-posta göndermek için kullanılan Java kitaplığı, aşağıda verilen Maven yapılandırması kullanılarak doğrudan kurulabilir:

<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>

Diğer Java çerçeveleriyle ilgili yapılandırmalar için lütfen releases.conholdate.com adresini ziyaret edin.

Java’da e-posta oluşturmak ve göndermek için kod nasıl yazılır?

Java e-posta kitaplığı, e-posta mesajlarını dağıtım için bir SMTP sunucusu aracılığıyla gönderir. Gönderen, alıcılar, konu ve mesaj gövdesi String nesneleri kullanılarak belirtilir. Bu bölümde, hem düz metin hem de gövde içeren e-postalar göndermek için Java’da kod örneklerinin nasıl yazılacağını tartışacağız.

Düz metinle e-posta göndermek için Java kodu

SMTP ile bir e-posta oluşturma ve gönderme adımları aşağıda verilmiştir:

  1. MailMessage sınıfının bir nesnesini oluşturun.
  2. Konuyu, metni, gönderenin ve alıcının adreslerini belirtin.
  3. SmtpClient sınıfının bir nesnesini oluşturun.
  4. Ana bilgisayar, bağlantı noktası, kullanıcı adı, parola ve güvenlik seçeneklerini ayarlayın.
  5. E-posta mesajı göndermek için SmtpClient.send(MailMessage arg) yöntemini çağırın.

Aşağıdaki kod örneği, düz metin içeren bir e-posta iletisinin nasıl oluşturulacağını ve gönderileceğini gösterir:

// Mesajı MailMessage örneği olarak bildirin
MailMessage msg = new MailMessage();

// Başlangıç ve Bitiş alanını ve Düz metin gövdesini ayarlama
msg.setFrom(MailAddress.to_MailAddress("sender@sender.com"));
msg.getTo().add("receiver@receiver.com");
msg.setBody("This is a Plain Text Body");

// SmtpClient sınıfının bir örneğini oluşturun
SmtpClient client = new SmtpClient();

// Posta ana makine sunucunuzu, Kullanıcı Adınızı, Parolanızı, Bağlantı Noktası Numarasını ve Güvenlik seçeneğini belirtin
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

try {
    // Client.Send bu mesajı gönderecek
    client.send(msg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
    client.close();
    client.dispose();
}
client.close();
client.dispose();  

HTML gövdesiyle e-posta gönderme

HTML gövdesine sahip bir e-posta iletisi gönderme adımları aşağıda verilmiştir:

  1. MailMessage sınıfının bir nesnesini oluşturun.
  2. Konuyu, metni, gönderenin ve alıcının adreslerini belirtin.
  3. MailMessage.setHtmlBody(String value) yöntemini kullanarak e-postanın gövdesini ayarlayın.
  4. SmtpClient sınıfının bir nesnesini oluşturun.
  5. Ana bilgisayar, bağlantı noktası, kullanıcı adı, parola ve güvenlik seçeneklerini ayarlayın.
  6. E-posta mesajı göndermek için SmtpClient.send(MailMessage arg) yöntemini çağırın.

Aşağıdaki kod örneği, HTML gövdesiyle bir e-posta iletisinin nasıl gönderileceğini gösterir.

// Mesajı MailMessage örneği olarak bildirin
MailMessage msg = new MailMessage();

// Göndereni, alıcıyı, mesajı ve HtmlBody'yi belirtme gibi MailMessage özelliklerini kullanın
 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 sınıfının bir örneğini oluşturun
SmtpClient client = new SmtpClient();

// Posta ana makine sunucunuzu, Kullanıcı Adınızı, Parolanızı, Bağlantı Noktası Numarasını ve Güvenlik seçeneğini belirtin
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

try {
    // Client.Send bu mesajı gönderecek
    client.send(msg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
    client.close();
    client.dispose();
}
client.close();
client.dispose();  

Saklanan e-postaları Java’daki diskten gönderme

Java e-posta kitaplığı, EML(Outlook Express Elektronik Posta) dosyalarını diskten yüklemenize ve bunları SMTP aracılığıyla göndermenize olanak tanır.

Saklanan e-posta mesajlarını diskten gönderme adımları aşağıda verilmiştir:

  1. MailMessage.load(String path) yöntemini kullanarak MailMessage sınıfının bir nesnesini oluşturun.
  2. SmtpClient sınıfının bir nesnesini oluşturun.
  3. Ana bilgisayar, bağlantı noktası, kullanıcı adı, parola ve güvenlik seçeneklerini ayarlayın.
  4. E-posta mesajı göndermek için SmtpClient.send(MailMessage arg) yöntemini çağırın.

Aşağıdaki kod örneği, depolanan e-postaların Java’daki bir diskten nasıl gönderileceğini gösterir.

// MailMessage sınıfına bir EML dosyası yükleyin
MailMessage message = MailMessage.load(dataDir + "test.eml");

// SmtpClient sınıfının bir örneğini oluşturun
SmtpClient client = new SmtpClient();

// Posta ana makine sunucunuzu, Kullanıcı Adınızı, Parolanızı, Bağlantı Noktası Numarasını ve Güvenlik seçeneğini belirtin
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

try {
    // Client.Send bu mesajı gönderecek
    client.send(msg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
    client.close();
    client.dispose();
}
client.close();
client.dispose();  

Toplu e-posta göndermek için Java kodu

Toplu e-posta göndermek için Java kodunu yazma adımları aşağıda verilmiştir:

  1. MailMessage sınıfının birden çok nesnesini oluşturun ve bunların gerekli parametrelerini veya özelliklerini belirtin.
  2. MailMessageCollection sınıfının bir nesnesini oluşturun.
  3. MailMessageCollection.addItem() yöntemini kullanarak koleksiyona e-posta mesajı nesnelerini (1. adımda oluşturulduğu gibi) ekleyin.
  4. SmtpClient sınıfının bir nesnesini oluşturun. and set the host, port, username, and password.
  5. SmtpClient.send(MailMessageCollection arg) yöntemini kullanarak e-posta gönderin.

Aşağıdaki kod örneği, Java kullanarak e-postaların toplu olarak nasıl gönderileceğini gösterir.

// İstemci olarak SmtpClient'i oluşturun ve sunucuyu, bağlantı noktasını, kullanıcı adını ve şifreyi belirtin
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");

// MailMessage sınıfının örneklerini oluşturun ve Kime, Kimden, Konu ve Mesajı Belirtin
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 sınıfının bir örneğini oluşturun ve MailMessage nesnelerini ekleyin
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.addItem(message1);
manyMsg.addItem(message2);
manyMsg.addItem(message3);

try {
    // Toplu Mesaj Gönder
    client.send(manyMsg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
    client.close();
    client.dispose();
}
client.close();
client.dispose();  

Ücretsiz lisans alın

API’yi değerlendirme sınırlamaları olmadan denemek için ücretsiz geçici lisans alabilirsiniz.

Özetliyor

Bu makalede, e-posta göndermek için Java kitaplığını kullanarak Java’da e-posta göndermek için kod yazma hakkında bilgi edindiniz. Başlangıçta, düz metin veya HTML gövdesi olan bir e-postayı programlı olarak nasıl göndereceğinizi öğrendiniz. Daha sonra Java kullanarak toplu e-posta göndermeyi ve diskte kayıtlı e-postaları göndermeyi gördünüz.

Diğer özellikleri keşfetmek için belgeleri ziyaret edebilirsiniz.

Son olarak, düzenli güncellemeler için conholdate.com adresini takip etmenizi öneririz.

Bir soru sor

Sorularınızı veya sorularınızı forumumuzda bize bildirebilirsiniz.

Ayrıca bakınız