1. Termékek
  2.   Email
  3.   Java
  4.   JavaMail
 
  

Ingyenes Java API egyszerű és HTML-alapú e-mailek küldéséhez

Nyílt forráskódú Java e-mail feldolgozó API szöveges és HTML-alapú e-mail üzenetek létrehozásához és küldéséhez mellékletekkel, beágyazott képekkel, SMTP, IMAP, POP3 protokoll támogatással és fejlett biztonsági támogatással.

Mi az a JavaMail?

Az vállalati alkalmazások és automatizált rendszerek világában az e-mailek programozott küldése és fogadása nem csupán kényelmi funkció – elengedhetetlen. Legyen szó jelszó-visszaállítási, rendelés-megerősítő e-mailekről vagy bejövő támogatási jegyek feldolgozásáról, az e-mail integráció alapvető funkció. A Java fejlesztők számára ennek a funkcionalitásnak a sarokköve a robusztus, nyílt forráskódú JavaMail API. Ez a részletes termékoldal bemutatja a JavaMail API-t, annak erőteljes funkcióit, és gyakorlati kódrészleteket nyújt, hogy elkezdhesd az e-mail integrációt Java alkalmazásaidban.

A JavaMail API egy érett, nyílt forráskódú keretrendszer, amelyet az Oracle (korábban a Sun Microsystems) biztosít, és platform‑független, valamint protokoll‑független megoldást nyújt levelező‑ és üzenetküldő alkalmazások építéséhez. Ez a Java ökoszisztéma standard API-ja az e-mailek kezelésére. Absztrahálja az alacsony szintű e-mail protokollok, például az SMTP, POP3 és IMAP bonyolultságát, lehetővé téve a fejlesztőknek, hogy tiszta, objektum‑orientált felülettel dolgozzanak. A könyvtár számos fontos funkcióval rendelkezik, többek között HTML e-mailek létrehozása és küldése, mellékletek hozzáadása, beágyazott képek beszúrása, több részből álló tartalom, erős hitelesítés és biztonsági támogatás, mappákon alapuló e-mail kezelés, fejlett keresés és szűrés, e-mailek olvasása SMTP‑n keresztül, és még sok más.

Previous Next

A JavaMail használatának megkezdése

Először is telepíteni kell a JDK 1.6 vagy újabb verzióját. A pom.xml-ben fel kell venni a következő Maven függőséget.

Maven függőség

<dependency>
  <groupId>com.sun.mail</groupId>s;
  <artifactId>javax.mail</artifactId>
  <version>1.6.2</version>
</dependency>

Letöltheted a könyvtárat közvetlenül a GitHub oldalról.

E-mail üzenetek küldése Java könyvtárral

A nyílt forráskódú JavaMail könyvtár támogatja egyszerű és HTML e-mail üzenetek létrehozását és küldését Java alkalmazásokon belül. A fejlesztők beolvashatják a meglévő e-maileket, fájlokat és képeket mellékletekként hozzáadhatják, több címzettnek küldhetnek, egyéni fejléceket adhatnak meg, és még sok mást. Meg kell adni a kapcsolati paramétereket, például a kiszolgáló címét, portját és a hitelesítés, TLS engedélyezését. Az alábbi példa bemutatja, hogyan küldjünk egy egyszerű szöveges e-mailt egy SMTP szerveren (például a Gmailen) keresztül Java alkalmazásból.

Hogyan küldjünk egy egyszerű szöveges e-mailt SMTP szerveren keresztül Java API-val?


import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;

public class SimpleEmailSender {

    public static void main(String[] args) {
        // Feladó és címzett e-mail címe
        String from = "your.email@gmail.com";
        String to = "recipient.email@example.com";
        
        // SMTP szerver beállítások (Gmail esetén)
        String host = "smtp.gmail.com";
        final String username = "your.email@gmail.com";
        final String password = "your-app-password"; // Gmail App Password használata

        // Mail szerver tulajdonságok beállítása
        Properties properties = new Properties();
        properties.put("mail.smtp.auth", "true");
        properties.put("mail.smtp.starttls.enable", "true"); // TLS használata
        properties.put("mail.smtp.host", host);
        properties.put("mail.smtp.port", "587");

        // Session objektum létrehozása felhasználónév és jelszó megadásával
        Session session = Session.getInstance(properties, new javax.mail.Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(username, password);
            }
        });

        try {
            // Alapértelmezett MimeMessage objektum létrehozása
            Message message = new MimeMessage(session);
            
            // From: fejléc beállítása
            message.setFrom(new InternetAddress(from));
            
            // To: fejléc beállítása
            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
            
            // Subject: fejléc beállítása
            message.setSubject("Hello from JavaMail API");
            
            // Üzenettörzs beállítása
            message.setText("This is a test email sent programmatically using the JavaMail API.");

            // Üzenet küldése
            Transport.send(message);
            System.out.println("Email sent successfully!");

        } catch (MessagingException e) {
            throw new RuntimeException(e);
        }
    }
}

E-mailek keresése és szűrése Java-ban

A nyílt forráskódú JavaMail könyvtár teljes körű támogatást nyújt e-mail üzenetek keresésére egy mappában különböző kritériumok (feladó, tárgy, dátum, jelzők) alapján Java alkalmazásokon belül. Ez különösen hasznos e-mail kliensek vagy automatizálások fejlesztésekor. Több keresési feltétel (AND, OR, NOT) kombinálható az AndTerm, OrTerm, NotTerm segítségével. Az alábbi példa bemutatja, hogyan keressünk üzeneteket egy adott feladótól Java parancsokkal.

Hogyan keressünk üzeneteket egy adott feladótól Java alkalmazásokban?


Store store = session.getStore("imap");
store.connect("imap.example.com", username, password);

Folder inbox = store.getFolder("INBOX");
inbox.open(Folder.READ_ONLY);

// Üzenetek keresése egy adott feladótól
SearchTerm senderTerm = new FromStringTerm("alerts@example.com");
Message[] found = inbox.search(senderTerm);

for (Message m : found) {
    System.out.println("Subject: " + m.getSubject());
}

inbox.close(false);
store.close();

SMTP, IMAP, POP3 protokoll támogatás

A nyílt forráskódú JavaMail alapértelmezés szerint támogatja a három leggyakoribb e-mail protokollt: SMTP (Simple Mail Transfer Protocol) az üzenetek küldéséhez, POP3 (Post Office Protocol 3) az egyszerű e-mail letöltéshez és IMAP (Internet Message Access Protocol) a fejlettebb e-mail hozzáféréshez (mappák, részleges letöltés). Emellett támogatja a biztonságos változatokat is, mint az SMTPS, POP3S, IMAPS, és kiterjeszthető egyedi szolgáltatókra.

Fejlett hitelesítés és biztonság Java-ban

A nyílt forráskódú JavaMail támogatja a biztonságos kommunikációt e-mail szerverekkel, ami a mai biztonságtudatos környezetben elengedhetetlen. A könyvtár támogatja a TLS‑t (Transport Layer Security), amely titkosítja a kommunikációs csatornát az alkalmazás és a mail szerver között. Emellett támogatja az SSL‑t (Secure Sockets Layer), amely a TLS elődje, szintén használható biztonságos kapcsolat létrehozásához. A könyvtár támogatja a szokásos felhasználónév/jelszó hitelesítést is a bejelentkezést igénylő szerverekhez.

 Magyar