- Sende e-post ved hjelp av JavaMail API
- Trinn for å sende e-post ved hjelp av JavaMail API
- Hent sesjonsobjektet
- Skriv meldingen
- send meldingen
- Enkelt eksempel på å sende e-post ved hjelp av JavaMail API
- 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:
b+ tre
- 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.
kmp algoritme
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
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:last ned disse jar-filene eller gå til Oracle-nettstedet for å laste ned den nyeste versjonen. |
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-postI 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
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:last ned disse jar-filene eller gå til Oracle-nettstedet for å laste ned den nyeste versjonen. |
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-postSom 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 |