1. Produse
  2.   E-mail
  3.   Java
  4.   JavaMail
 
  

API Java gratuit pentru trimiterea de emailuri simple și bazate pe HTML

API open source de procesare a emailurilor Java pentru crearea și trimiterea de mesaje email text și bazate pe HTML cu atașamente, imagini încorporate, suport pentru protocoalele SMTP, IMAP, POP3 și securitate avansată.

Ce este JavaMail?

În lumea aplicațiilor enterprise și a sistemelor automate, capacitatea de a trimite și primi emailuri programatic nu este doar o comoditate—este o necesitate. De la trimiterea resetărilor de parolă și confirmărilor de comandă până la procesarea tichetelor de suport primite, integrarea emailului este o funcționalitate de bază. Pentru dezvoltatorii Java, piatra de temelie a acestei funcționalități a fost API-ul robust, open source JavaMail. Această pagină de produs cuprinzătoare va explora API-ul JavaMail, caracteristicile sale puternice și va oferi exemple de cod practice pentru a începe integrarea emailului în aplicațiile tale Java.

API-ul JavaMail este un cadru matur, open source, furnizat de Oracle (fostul Sun Microsystems), care oferă un cadru independent de platformă și de protocol pentru construirea de aplicații de mail și mesagerie. Este API-ul standard pentru gestionarea emailurilor în ecosistemul Java. Abstractizează complexitățile protocoalelor de email subiacente, cum ar fi SMTP, POP3 și IMAP, permițând dezvoltatorilor să lucreze cu o interfață curată, orientată pe obiecte. Există mai multe caracteristici importante ale bibliotecii, cum ar fi crearea și trimiterea de emailuri HTML, adăugarea de atașamente, inserarea de imagini inline, conținut multipart, suport pentru autentificare și securitate puternică, suport pentru emailuri bazate pe foldere, căutare și filtrare avansată a emailurilor, citirea emailurilor prin SMTP și altele.

Previous Next

Începerea utilizării JavaMail

În primul rând, trebuie să instalați JDK 1.6 sau o versiune superioară. Trebuie să adăugați următoarea dependență Maven în pom.xml.

Maven Dependency

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

Puteți descărca biblioteca direct de pe pagina GitHub.

Trimiterea mesajelor email prin biblioteca Java

Biblioteca open source JavaMail include suport pentru crearea și trimiterea de mesaje email simple, precum și HTML în aplicații Java. Dezvoltatorii pot citi emailuri existente, adăuga fișiere și imagini ca atașamente, trimite emailuri către mai mulți utilizatori, adăuga antete personalizate și multe altele. Trebuie să definiți parametrii de conexiune, cum ar fi gazda, portul și flag-urile pentru a activa autentificarea și TLS. Exemplul următor demonstrează cum să trimiteți un email simplu text printr-un server SMTP (cum ar fi Gmail) în aplicații Java.

Cum să trimiteți un email simplu text utilizând un server SMTP prin API-ul Java?


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

public class SimpleEmailSender {

    public static void main(String[] args) {
        // Sender's and recipient's email ID
        String from = "your.email@gmail.com";
        String to = "recipient.email@example.com";
        
        // SMTP server configuration (for Gmail)
        String host = "smtp.gmail.com";
        final String username = "your.email@gmail.com";
        final String password = "your-app-password"; // Use an App Password for Gmail

        // Setup mail server properties
        Properties properties = new Properties();
        properties.put("mail.smtp.auth", "true");
        properties.put("mail.smtp.starttls.enable", "true"); // Use TLS
        properties.put("mail.smtp.host", host);
        properties.put("mail.smtp.port", "587");

        // Get the Session object and pass username and password
        Session session = Session.getInstance(properties, new javax.mail.Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(username, password);
            }
        });

        try {
            // Create a default MimeMessage object
            Message message = new MimeMessage(session);
            
            // Set From: header field
            message.setFrom(new InternetAddress(from));
            
            // Set To: header field
            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
            
            // Set Subject: header field
            message.setSubject("Hello from JavaMail API");
            
            // Set the actual message body
            message.setText("This is a test email sent programmatically using the JavaMail API.");

            // Send message
            Transport.send(message);
            System.out.println("Email sent successfully!");

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

Căutarea și filtrarea emailurilor în Java

Biblioteca open source JavaMail include suport complet pentru căutarea mesajelor email într-un folder după diverse criterii (expeditor, subiect, dată, flag-uri) în aplicații Java. Acest lucru este deosebit de util la dezvoltarea de clienți de email sau automatizări. De asemenea, puteți combina mai mulți termeni de căutare (AND, OR, NOT) prin AndTerm, OrTerm, NotTerm. Exemplul următor demonstrează cum să căutați mesaje de la un anumit expeditor folosind comenzi Java.

Cum să căutați mesaje de la un expeditor specific în aplicații Java?


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

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

// Search for messages from a specific sender
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();

Suport pentru protocoalele SMTP, IMAP, POP3

JavaMail open source suportă în mod implicit cele trei protocoale de email cele mai comune, cum ar fi SMTP (Simple Mail Transfer Protocol) pentru trimiterea mesajelor, POP3 (Post Office Protocol 3) pentru recuperarea simplă a emailurilor și IMAP (Internet Message Access Protocol) pentru acces avansat la emailuri (foldere, preluare parțială). În plus, suportă variante securizate precum SMTPS, POP3S, IMAPS și poate fi extins pentru furnizori personalizați.

Autentificare și securitate avansată prin Java

JavaMail open source suportă comunicarea securizată cu serverele de email, ceea ce este crucial în mediul actual orientat spre securitate. Biblioteca suportă TLS (Transport Layer Security) care criptează canalul de comunicare dintre aplicația ta și serverul de mail. De asemenea, suportă SSL (Secure Sockets Layer), predecesorul TLS, și este utilizat pentru stabilirea unei conexiuni securizate. Biblioteca suportă, de asemenea, autentificarea standard cu nume de utilizator/parolă pentru a se conecta la serverele care necesită autentificare.

 Română