E-mailautomatisering is populair geworden, met name onder marketeers. Het stelt hen in staat om op het geplande tijdstip automatisch vooraf gemaakte e-mails naar hun doelgroep te sturen.

Hoe code te schrijven voor het verzenden van e-mails in Java

Hoe code te schrijven voor het verzenden van e-mails in Java

In dit artikel leggen we uit hoe u code schrijft voor het verzenden van e-mail in Java. We zullen de stappen zien om e-mails met platte tekst of HTML-body programmatisch te maken en te verzenden. Daarnaast laten we zien hoe u e-mails in bulk kunt verzenden en opgeslagen e-mails vanaf de schijf kunt verzenden met Java. Dit artikel behandelt de onderstaande punten:

  • [Java-bibliotheek voor het verzenden van e-mails][1]
  • [Code schrijven om een e-mail in Java te maken en te verzenden][2]
  • [Opgeslagen e-mails verzenden vanaf de schijf in Java][3]
  • [E-mails in bulk verzenden][4]

Java-bibliotheek voor het verzenden van e-mails

We zullen [Java e-mailbibliotheek][5] gebruiken, waarmee u uw bedrijfslogica kunt implementeren voor het beheren van e-mails zonder kennis van netwerkprogrammering of formaatspecificaties. De Java-bibliotheek voor het verzenden van e-mails kan rechtstreeks worden geïnstalleerd met behulp van de onderstaande Maven-configuratie:

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

Ga voor configuraties over andere Java-frameworks naar [releases.conholdate.com][6].

Hoe code te schrijven om een e-mail in Java te maken en te verzenden

De Java-e-mailbibliotheek verzendt de e-mailberichten via een SMTP-server voor bezorging. De afzender, ontvangers, het onderwerp en de berichttekst worden gespecificeerd met behulp van [String][7]-objecten. In deze sectie bespreken we hoe codevoorbeelden in Java kunnen worden geschreven om e-mails met platte tekst en [HTML][8] body te verzenden.

Java-code om e-mail met platte tekst te verzenden

Hieronder volgen de stappen om een e-mail met SMTP te maken en te verzenden:

  1. Maak een object van de klasse [MailMessage][9].
  2. Geef het onderwerp, de hoofdtekst, de adressen van de afzender en de ontvanger op.
  3. Maak een object van de klasse [SmtpClient][10].
  4. Stel host, poort, gebruikersnaam, wachtwoord en beveiligingsopties in.
  5. Roep de methode [SmtpClient.send(MailMessage arg)][11] aan om een e-mailbericht te verzenden. Het onderstaande codevoorbeeld laat zien hoe u een e-mailbericht met platte tekst maakt en verzendt:
    // Declare msg as MailMessage instance
    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");
    // Create an instance of SmtpClient class
    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();

E-mails verzenden met HTML-tekst

Hieronder volgen de stappen om een e-mailbericht met een HTML-tekst te verzenden:

  1. Maak een object van de klasse [MailMessage][9].
  2. Geef het onderwerp, de hoofdtekst, de adressen van de afzender en de ontvanger op.
  3. Stel de hoofdtekst van de e-mail in met de methode [MailMessage.setHtmlBody(String value)][14].
  4. Maak een object van de klasse [SmtpClient][10].
  5. Stel host, poort, gebruikersnaam, wachtwoord en beveiligingsopties in.
  6. Roep de methode [SmtpClient.send(MailMessage arg)][11] aan om een e-mailbericht te verzenden. Het onderstaande codevoorbeeld laat zien hoe u een e-mailbericht met HTML-body verzendt.
    // Declare msg as MailMessage instance
    MailMessage msg = new MailMessage();
    // Use MailMessage properties like specify sender, recipient, message and 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>");
    // Create an instance of SmtpClient class
    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();

Opgeslagen e-mails verzenden vanaf de schijf in Java

Met de Java-e-mailbibliotheek kunt u de [EML][15]-bestanden (Outlook Express Electronic Mail) van de schijf laden en via SMTP verzenden. Hieronder vindt u de stappen om de opgeslagen e-mailberichten vanaf de schijf te verzenden:

  1. Maak een object van de klasse [MailMessage][9] met behulp van de methode [MailMessage.load(String path)][16].
  2. Maak een object van de klasse [SmtpClient][10].
  3. Stel host, poort, gebruikersnaam, wachtwoord en beveiligingsopties in.
  4. Roep de methode [SmtpClient.send(MailMessage arg)][11] aan om een e-mailbericht te verzenden. Het onderstaande codevoorbeeld laat zien hoe u de opgeslagen e-mails vanaf een schijf in Java kunt verzenden.
    // Load an EML file in MailMessage class
    MailMessage message = MailMessage.load(dataDir + "test.eml");
    // Create an instance of SmtpClient class
    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-code om e-mails in bulk te verzenden

Hieronder volgen de stappen voor het schrijven van Java-code voor het in bulk verzenden van e-mails:

  1. Maak meerdere objecten van de klasse [MailMessage][9] en geef de benodigde parameters of eigenschappen op.
  2. Maak een object van de klasse [MailMessageCollection][13].
  3. Voeg objecten voor e-mailberichten (zoals gemaakt in stap 1) toe aan de verzameling met de methode [MailMessageCollection.addItem()][17].
  4. Maak een object van de klasse [SmtpClient][10]. en stel de host, poort, gebruikersnaam en wachtwoord in.
  5. Verzend e-mail met de methode [SmtpClient.send(MailMessageCollection arg)][12]. Het onderstaande codevoorbeeld laat zien hoe u e-mails in bulk kunt verzenden met Java.
    // Create SmtpClient as client and specify server, port, user name and password
    SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");
    // Create instances of MailMessage class and Specify To, From, Subject and 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?");
    // Create an instance of MailMessageCollection class and add MailMessage objects
    MailMessageCollection manyMsg = new MailMessageCollection();
    manyMsg.addItem(message1);
    manyMsg.addItem(message2);
    manyMsg.addItem(message3);
    try {
    // Send Message in bulk
    client.send(manyMsg);
    System.out.println("Message sent");
    } catch (Exception ex) {
    System.err.println(ex);
    client.close();
    client.dispose();
    }
    client.close();
    client.dispose();

Ontvang een gratis licentie

U kunt een [gratis tijdelijke licentie][18] krijgen om de API uit te proberen zonder evaluatiebeperkingen.

Opsommen

In dit artikel heb je kennis opgedaan over code schrijven voor het verzenden van e-mails in Java met behulp van een Java-bibliotheek voor het verzenden van e-mails. Aanvankelijk leerde je hoe je een e-mail met platte tekst of HTML-body programmatisch kunt verzenden. Daarna zag je hoe je e-mails in bulk kunt verzenden en hoe je opgeslagen e-mails vanaf de schijf kunt verzenden met Java. U kunt de [documentatie][19] bezoeken om andere functies te verkennen. Ten slotte raden we u aan om [conholdate.com][20] in de gaten te houden voor regelmatige updates.

Een vraag stellen

U kunt uw vragen of verzoeken aan ons kenbaar maken op ons [forum][21].

Zie ook