Sende e-post i Java

  1. Sende e-post ved hjelp av JavaMail API
  2. Trinn for å sende e-post ved hjelp av JavaMail API
    1. Hent sesjonsobjektet
    2. Skriv meldingen
    3. send meldingen
  3. Enkelt eksempel på å sende e-post ved hjelp av JavaMail API
  4. Eksempel på sending av e-post ved hjelp av JavaMail API gjennom SMTP-serveren levert av vertsleverandøren

Det er forskjellige måter å sende e-post ved hjelp av JavaMail API. For dette formålet må du ha en SMTP-server som er ansvarlig for å sende e-post.

Du kan bruke en av følgende teknikker for å få SMTP-serveren:

  • Installer og bruk hvilken som helst SMTP-server som Postcast-server, Apache James-server, cmail-server osv. (eller)
  • Bruk SMTP-serveren levert av vertsleverandøren, f.eks. SMTP-serveren min er mail.javatpoint.com (eller)
  • Bruk SMTP-serveren levert av andre selskaper, f.eks. gmail osv.

Her skal vi lære ovenfor tre tilnærminger for å sende e-post ved hjelp av javamail API. Men vi bør lære de grunnleggende trinnene for å sende e-post fra java-applikasjonen.


Trinn for å sende e-post ved hjelp av JavaMail API

Det er følgende tre trinn for å sende e-post med JavaMail. De er som følger:

    Hent sesjonsobjektet som lagrer all informasjon om verten som vertsnavn, brukernavn, passord etc. skrive meldingen send meldingen


1) Hent sesjonsobjektet

De javax.mail.Session klasse gir to metoder for å hente objektet for økten, Session.getDefaultInstance()-metoden og Session.getInstance()-metoden. Du kan bruke hvilken som helst metode for å hente sesjonsobjektet.

Metode for økt klasse

Nei. Metode Beskrivelse
1 offentlig statisk økt getDefaultInstance(Properties rekvisitter) returnerer standardøkten.
2 offentlig statisk økt getDefaultInstance (Properties rekvisitter, Authenticator auth) returnerer standardøkten.
3 offentlig statisk sesjon getInstance (Properties rekvisitter) returnerer den nye økten.
4 offentlig statisk sesjon getInstance (Properties props, Authenticator auth) returnerer den nye økten.

Eksempel på getDefaultInstance()-metoden

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

Eksempel på getInstance()-metoden

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

2) Skriv meldingen

Javax.mail.Message-klassen gir metoder for å komponere meldingen. Men det er en abstrakt klasse, så underklassen javax.mail.internet.MimeMessage-klassen brukes mest.
For å lage meldingen, må du sende et øktobjekt i MimeMessage-klassekonstruktøren. For eksempel:
 MimeMessage message=new MimeMessage(session);  
Nå er meldingsobjektet opprettet, men for å lagre informasjon i dette objektet gir MimeMessage-klassen mange metoder. La oss se metoder levert av MimeMessage-klassen:

Vanlige metoder for MimeMessage-klassen

Nei. Metode Beskrivelse
1 public void setFrom (adresseadresse) brukes til å angi fra-hodefeltet.
2 public void addRecipient(Message.RecipientType type, Address address) brukes til å legge til den gitte adressen til mottakertypen.
3 public void addRecipients(Message.RecipientType type, Address[]-adresser) brukes til å legge til de oppgitte adressene til mottakertypen.
4 public void setSubject(strengemne) brukes til å angi emneoverskriftsfeltet.
5 public void setText(String tekstmelding) brukes til å angi teksten som meldingsinnhold ved hjelp av tekst/vanlig MIME-type.
6 public void setContent(Object msg, String contentType) brukes til å angi innholdet som meldingsinnhold ved å bruke gitt MIME-type.

Eksempel for å skrive meldingen:

 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 meldingen

javax.mail.Transport-klassen gir en metode for å sende meldingen.

Vanlig brukte metoder i transportklassen

Nei. Metode Beskrivelse
1 offentlig statisk void send (meldingsmelding) brukes sende meldingen.
2 offentlig statisk void send (meldingsmelding, adresse[] adresse) brukes sende meldingen til de oppgitte adressene.

Eksempel for å sende meldingen:

 Transport.send(message);  

Enkelt eksempel på å sende e-post i Java

last ned disse jar-filene eller gå til Oracle-nettstedet for å laste ned den nyeste versjonen.
I dette eksemplet skal vi lære hvordan du sender e-post med SMTP-server installert på maskinen, f.eks. Postcast-server, Apache James-server, Cmail-server etc. Hvis du ønsker å sende e-post ved å bruke SMTP-serveren fra vertsleverandøren, se eksemplet etter dette.
For å sende e-posten ved hjelp av JavaMail API, må du laste de to jar-filene:
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();} } }  
last ned dette eksemplet for å sende e-post

I dette eksemplet skal vi lære hvordan du sender e-post med SMTP-server installert på maskinen, f.eks. Postcast-server, Apache James-server, Cmail-server etc. Hvis du ønsker å sende e-post ved å bruke SMTP-serveren fra vertsleverandøren, se eksemplet etter dette.

For å kjøre dette eksemplet må du laste inn to jar-filer. Det er 4 måter å laste jar-filen på. En av måtene er satt klassesti. La oss se hvordan du kjører dette eksemplet:

Last inn jar-filen c:> set classpath=mail.jar;activation.jar;.;
kompiler kildefilen c:> javac SendE-post.java
drevet av c:> java SendE-post

Eksempel på sending av e-post i Java via SMTP-server levert av vertsleverandøren

last ned disse jar-filene eller gå til Oracle-nettstedet for å laste ned den nyeste versjonen.
Hvis du bruker SMTP-serveren levert av vertsleverandøren, f.eks. mail.javatpoint.com , må du autentisere brukernavnet og passordet. Javax.mail.PasswordAuthentication-klassen brukes til å autentisere passordet.
Hvis du sender e-posten med JavaMail API, last inn de to jar-filene:
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();} } }  
last ned dette eksemplet for å sende e-post

Som du kan se i eksemplet ovenfor, må bruker-ID og passord være autentisert. Som dette programmet illustrerer, kan du enkelt sende e-post. Endre brukernavn og passord tilsvarende. La oss se hvordan du kjører det igjen med enkel teknikk:

Last inn jar-filen c:> set classpath=mail.jar;activation.jar;.;
kompiler kildefilen c:> javac SendMailBySite.java
drevet av c:> java SendMailBySite