logo

Sender e-mail i Java

  1. Afsendelse af e-mail ved hjælp af JavaMail API
  2. Trin til at sende e-mail ved hjælp af JavaMail API
    1. Hent sessionsobjektet
    2. Skriv beskeden
    3. sende beskeden
  3. Simpelt eksempel på afsendelse af e-mail ved hjælp af JavaMail API
  4. Eksempel på afsendelse af e-mail ved hjælp af JavaMail API gennem SMTP-serveren leveret af værtsudbyderen

Der er forskellige måder at sende e-mail på ved hjælp af JavaMail API. Til dette formål skal du have en SMTP-server, der er ansvarlig for at sende mails.

Du kan bruge en af ​​følgende teknikker til at få SMTP-serveren:

java program loop
  • Installer og brug enhver SMTP-server såsom Postcast-server, Apache James-server, cmail-server osv. (eller)
  • Brug SMTP-serveren leveret af værtsudbyderen, f.eks. min SMTP-server er mail.javatpoint.com (eller)
  • Brug SMTP-serveren leveret af andre virksomheder, f.eks. gmail osv.

Her skal vi lære ovenstående tre tilgange til at sende e-mail ved hjælp af javamail API. Men vi bør lære de grundlæggende trin til at sende e-mail fra java-applikationen.


Trin til at sende e-mail ved hjælp af JavaMail API

Der er følgende tre trin for at sende e-mail ved hjælp af JavaMail. De er som følger:

    Hent sessionsobjektetder gemmer alle oplysninger om værten som værtsnavn, brugernavn, adgangskode osv.komponer beskeden sende beskeden


1) Hent sessionsobjektet

Det javax.mail.Session klasse giver to metoder til at hente objektet i sessionen, metoden Session.getDefaultInstance() og metoden Session.getInstance(). Du kan bruge enhver metode til at hente sessionsobjektet.

hvad er mac os

Metode til session klasse

Ingen.MetodeBeskrivelse
1offentlig statisk session getDefaultInstance(Properties rekvisitter)returnerer standardsessionen.
2offentlig statisk session getDefaultInstance(Properties props, Authenticator auth)returnerer standardsessionen.
3offentlig statisk session getInstance(Properties rekvisitter)returnerer den nye session.
4offentlig statisk session getInstance (Properties rekvisitter, Authenticator auth)returnerer den nye session.

Eksempel på metoden getDefaultInstance().

 Properties properties=new Properties(); //fill all the information like host name etc. Session session=Session.getDefaultInstance(properties,null); 

Eksempel på getInstance() metode

 Properties properties=new Properties(); //fill all the information like host name etc. Session session=Session.getInstance(properties,null); 

2) Skriv beskeden

Klassen javax.mail.Message giver metoder til at sammensætte beskeden. Men det er en abstrakt klasse, så dens underklasse javax.mail.internet.MimeMessage klasse bruges mest.
For at oprette meddelelsen skal du sende sessionsobjektet i MimeMessage-klassekonstruktøren. For eksempel:
 MimeMessage message=new MimeMessage(session); 
Nu er meddelelsesobjektet blevet oprettet, men for at gemme information i dette objekt giver MimeMessage-klassen mange metoder. Lad os se metoder leveret af MimeMessage-klassen:

Almindeligt anvendte metoder i MimeMessage-klassen

Ingen.MetodeBeskrivelse
1public void setFrom(adresseadresse)bruges til at indstille fra overskriftsfeltet.
2public void addRecipient(Message.RecipientType type, Address address)bruges til at tilføje den givne adresse til modtagertypen.
3public void addRecipients(Message.RecipientType type, Adresse[] adresser)bruges til at tilføje de givne adresser til modtagertypen.
4offentligt void sætSubject(strengemne)bruges til at indstille emnehovedfeltet.
5public void setText(String tekstbesked)bruges til at indstille teksten som beskedindhold ved hjælp af tekst/almindelig MIME-type.
6public void setContent(Object msg, String contentType)bruges til at indstille indholdet som meddelelsesindholdet ved hjælp af en given MIME-type.

Eksempel på at skrive beskeden:

 MimeMessage message=new MimeMessage(session); message.setFrom(new InternetAddress('[email protected]')); message.addRecipient(Message.RecipientType.To, new InternetAddress('[email protected]')); message.setHeader('Hi, everyone'); message.setText('Hi, This mail is to inform you...'); 

3) Send beskeden

javax.mail.Transport-klassen giver en metode til at sende beskeden.

Almindeligt anvendte metoder i transportklassen

Ingen.MetodeBeskrivelse
1offentlig statisk tomrum send (meddelelsesmeddelelse)bruges sende beskeden.
2offentlig statisk void send (meddelelsesmeddelelse, adresse[] adresse)bruges sende beskeden til de angivne adresser.

Eksempel på at sende beskeden:

 Transport.send(message); 

Simpelt eksempel på at sende e-mail i Java

download disse jar-filer, eller gå til Oracle-webstedet for at downloade den seneste version.
I dette eksempel skal vi lære at sende e-mail med SMTP-server installeret på maskinen, f.eks. Postcast-server, Apache James-server, Cmail-server osv. Hvis du ønsker at sende e-mail ved at bruge din SMTP-server leveret af værtsudbyderen, se eksemplet efter dette.
For at sende e-mailen ved hjælp af JavaMail API, skal du indlæse de to jar-filer:
mail.jar
activation.jar
 import java.util.*; import javax.mail.*; import javax.mail.internet.*; import javax.activation.*; public class SendEmail { public static void main(String [] args){ String to = '[email protected]';//change accordingly String from = '[email protected]';change accordingly String host = 'localhost';//or IP address //Get the session object Properties properties = System.getProperties(); properties.setProperty('mail.smtp.host', host); Session session = Session.getDefaultInstance(properties); //compose the message try{ MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); message.addRecipient(Message.RecipientType.TO,new InternetAddress(to)); message.setSubject('Ping'); message.setText('Hello, this is example of sending email '); // Send message Transport.send(message); System.out.println('message sent successfully....'); }catch (MessagingException mex) {mex.printStackTrace();} } } 
download dette eksempel for at sende e-mail

I dette eksempel skal vi lære at sende e-mail med SMTP-server installeret på maskinen, f.eks. Postcast-server, Apache James-server, Cmail-server osv. Hvis du ønsker at sende e-mail ved at bruge din SMTP-server leveret af værtsudbyderen, se eksemplet efter dette.

For at køre dette eksempel skal du indlæse to jar-filer. Der er 4 måder at indlæse jar-filen på. En af måderne er sæt klassesti. Lad os se, hvordan du kører dette eksempel:

Indlæs jar-filenc:> sæt klassesti=mail.jar;activation.jar;.;
kompiler kildefilenc:> javac SendEmail.java
løbe forbic:> java SendE-mail

Eksempel på afsendelse af e-mail i Java via SMTP-server leveret af værtsudbyderen

download disse jar-filer, eller gå til Oracle-webstedet for at downloade den seneste version.
Hvis du bruger SMTP-serveren leveret af værtsudbyderen, f.eks. mail.javatpoint.com , skal du autentificere brugernavnet og adgangskoden. Javax.mail.PasswordAuthentication-klassen bruges til at godkende adgangskoden.
Hvis du sender e-mailen ved hjælp af JavaMail API, skal du indlæse de to jar-filer:
mail.jar
activation.jar
 import java.util.Properties; import javax.mail.*; import javax.mail.internet.*; public class SendMailBySite { public static void main(String[] args) { String host='mail.javatpoint.com'; final String user='[email protected]';//change accordingly final String password='xxxxx';//change accordingly String to='[email protected]';//change accordingly //Get the session object Properties props = new Properties(); props.put('mail.smtp.host',host); props.put('mail.smtp.auth', 'true'); Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(user,password); } }); //Compose the message try { MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(user)); message.addRecipient(Message.RecipientType.TO,new InternetAddress(to)); message.setSubject('javatpoint'); message.setText('This is simple program of sending email using JavaMail API'); //send the message Transport.send(message); System.out.println('message sent successfully...'); } catch (MessagingException e) {e.printStackTrace();} } } 
download dette eksempel for at sende e-mail

Som du kan se i ovenstående eksempel, skal bruger-id og adgangskode godkendes. Som dette program illustrerer, kan du nemt sende e-mail. Skift brugernavn og adgangskode i overensstemmelse hermed. Lad os se, hvordan du kører det igen ved simpel teknik:

Indlæs jar-filenc:> sæt klassesti=mail.jar;activation.jar;.;
kompiler kildefilenc:> javac SendMailBySite.java
løbe forbic:> java SendMailBySite