- Afsendelse af e-mail ved hjælp af JavaMail API
- Trin til at sende e-mail ved hjælp af JavaMail API
- Hent sessionsobjektet
- Skriv beskeden
- sende beskeden
- Simpelt eksempel på afsendelse af e-mail ved hjælp af JavaMail API
- 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 sessionsobjektet | der 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. | Metode | Beskrivelse |
1 | offentlig statisk session getDefaultInstance(Properties rekvisitter) | returnerer standardsessionen. |
2 | offentlig statisk session getDefaultInstance(Properties props, Authenticator auth) | returnerer standardsessionen. |
3 | offentlig statisk session getInstance(Properties rekvisitter) | returnerer den nye session. |
4 | offentlig 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. | Metode | Beskrivelse |
1 | public void setFrom(adresseadresse) | bruges til at indstille fra overskriftsfeltet. |
2 | public void addRecipient(Message.RecipientType type, Address address) | bruges til at tilføje den givne adresse til modtagertypen. |
3 | public void addRecipients(Message.RecipientType type, Adresse[] adresser) | bruges til at tilføje de givne adresser til modtagertypen. |
4 | offentligt void sætSubject(strengemne) | bruges til at indstille emnehovedfeltet. |
5 | public void setText(String tekstbesked) | bruges til at indstille teksten som beskedindhold ved hjælp af tekst/almindelig MIME-type. |
6 | public 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. | Metode | Beskrivelse |
1 | offentlig statisk tomrum send (meddelelsesmeddelelse) | bruges sende beskeden. |
2 | offentlig 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
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:download disse jar-filer, eller gå til Oracle-webstedet for at downloade den seneste version. |
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-mailI 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-filen | c:> sæt klassesti=mail.jar;activation.jar;.; |
kompiler kildefilen | c:> javac SendEmail.java |
løbe forbi | c:> java SendE-mail |
Eksempel på afsendelse af e-mail i Java via SMTP-server leveret af værtsudbyderen
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:download disse jar-filer, eller gå til Oracle-webstedet for at downloade den seneste version. |
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-mailSom 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-filen | c:> sæt klassesti=mail.jar;activation.jar;.; |
kompiler kildefilen | c:> javac SendMailBySite.java |
løbe forbi | c:> java SendMailBySite |