logo

JavaMail-zelfstudie

  1. Java Mail-API
  2. Protocollen gebruikt in JavaMail API
  3. SMTP
  4. KNAL
  5. IMAP
  6. MIME
  7. NNTP en anderen
  1. Java Mail-architectuur
  2. Java Mail API-kernklassen

De JavaMail is een API die wordt gebruikt voor het samenstellen, schrijven en lezen van elektronische berichten (e-mails).

De JavaMail API biedt een protocolonafhankelijk en platformonafhankelijk raamwerk voor het verzenden en ontvangen van e-mails.

derde normaalvorm

De javax.mail En javax.mail.activatie pakketten bevatten de kernklassen van JavaMail API.

De JavaMail-faciliteit kan op veel evenementen worden toegepast. Het kan worden gebruikt op het moment dat de gebruiker wordt geregistreerd (waarbij een melding wordt verzonden, zoals bedankt voor uw interesse in mijn site), het wachtwoord wordt vergeten (het wachtwoord wordt verzonden naar de e-mail-ID van de gebruiker), meldingen worden verzonden voor belangrijke updates enz. Er kunnen dus verschillende toepassingen zijn van Java Mail-API.



Ken jij ?
  • Hoe e-mail verzenden en ontvangen met de JavaMail API?
  • Hoe e-mail verzenden via de Gmail-server?
  • Hoe e-mail met bijlage verzenden en ontvangen?
  • Hoe verstuur ik een e-mail met HTML-inhoud inclusief afbeeldingen?
  • Hoe kan ik de e-mail doorsturen en verwijderen?

Protocollen gebruikt in JavaMail API

Er zijn enkele protocollen die worden gebruikt in de JavaMail API.
  • SMTP
  • KNAL
  • IMAP
  • MIME
  • NNTP en anderen

SMTP

SMTP is een afkorting voor Simple Mail Transfer Protocol. Het biedt een mechanisme om de e-mail te bezorgen. We kunnen Apache James-server, Postcast-server, cmail-server etc. gebruiken als SMTP-server. Maar als we de hostruimte aanschaffen, wordt er standaard een SMTP-server geleverd door de hostprovider. Mijn smtp-server is bijvoorbeeld mail.javatpoint.com. Als we de SMTP-server van de hostprovider gebruiken, is authenticatie vereist voor het verzenden en ontvangen van e-mails.

KNAL

POP is een acroniem voor Post Office Protocol, ook bekend als POP3. Het biedt een mechanisme om de e-mail te ontvangen. Het biedt ondersteuning voor één mailbox voor elke gebruiker. We kunnen de Apache James-server, cmail-server etc. gebruiken als POP-server. Maar als we de hostruimte aanschaffen, wordt er standaard een POP-server geleverd door de hostprovider. De popserver die door de hostprovider voor mijn site wordt geleverd, is bijvoorbeeld mail.javatpoint.com. Dit protocol is gedefinieerd in RFC 1939.

IMAP

IMAP is een afkorting voor Internet Message Access Protocol. IMAP is een geavanceerd protocol voor het ontvangen van berichten. Het biedt ondersteuning voor meerdere mailboxen voor elke gebruiker. Bovendien kan de mailbox door meerdere gebruikers worden gedeeld. Het is gedefinieerd in RFC 2060.

MIME

Multiple Internet Mail Extension (MIME) vertelt de browser wat er wordt verzonden, b.v. bijlage, formaat van de berichten enz. Het staat niet bekend als mail transfer protocol, maar wordt gebruikt door uw mailprogramma.

NNTP en anderen

Er zijn veel protocollen die worden geleverd door externe providers. Sommigen daarvan zijn Network News Transfer Protocol (NNTP), Secure Multipurpose Internet Mail Extensions (S/MIME) enz.


JavaMail-architectuur

De Java-applicatie maakt gebruik van de JavaMail API om e-mails op te stellen, te verzenden en te ontvangen. De JavaMail API maakt gebruik van SPI (Service Provider Interfaces) die de intermediaire diensten aan de Java-applicatie levert om met de verschillende protocollen om te gaan. Laten we het begrijpen met de onderstaande figuur:

nadelen van internet
JavaMail API-architectuur

JavaMail API-kernklassen

Er zijn twee pakketten die worden gebruikt in de Java Mail API: het pakket javax.mail en javax.mail.internet. Deze pakketten bevatten veel klassen voor de Java Mail API. Zij zijn:

  • javax.mail.Sessieklasse
  • javax.mail.Berichtklasse
  • javax.mail.internet.MimeMessage-klasse
  • javax.mail.Adresklasse
  • javax.mail.internet.InternetAddress-klasse
  • javax.mail.Authenticator-klasse
  • javax.mail.PasswordAuthentication-klasse
  • javax.mail.Transportklasse
  • javax.mail.Store-klasse
  • javax.mail.Folderklasse enz.

We zullen deze klasse één voor één kennen als deze gewend raakt.