Di seguito un esempio di invio mail utilizzando Java e Gmail come account di posta.
Il codice utilizza le librerie di Java Mail, in particolare nel classpath sono presenti i seguenti jar:
Da notare che il codice seguente non funziona se si ha la connessione ad internet intermediata da un proxy server.
Di seguito il codice
Il codice utilizza le librerie di Java Mail, in particolare nel classpath sono presenti i seguenti jar:
- dsn.jar;
- imap.jar;
- mailapi.jar;
- pop3.jar;
- smtp.jar.
Da notare che il codice seguente non funziona se si ha la connessione ad internet intermediata da un proxy server.
Di seguito il codice
package it.test;
import
javax.mail.*;
import
javax.mail.internet.*;
import javax.mail.Authenticator;
import
javax.mail.PasswordAuthentication;
import
java.util.Properties;
public class
SimpleMail {
private static final String SMTP_HOST_NAME = "smtp.gmail.com";
private static final String SMTP_AUTH_USER = "xxxxxxxxxxxxx";
private static final String SMTP_AUTH_PWD = "yyyyyyyyyyyyy";
private static final String PORT="587";
public static void main(String[]
args) throws Exception{
new
SimpleMail().test();
}
private
Properties loadGmailProperties(){
Properties props = new Properties();
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.host", SMTP_HOST_NAME);
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", PORT);
props.put("mail.smtp.starttls.enable", "true");
return props;
}
public void test() throws
Exception
{
Authenticator
auth = new SMTPAuthenticator();
Session mailSession=Session.getDefaultInstance(loadGmailProperties(),auth);
// con questo
parametro settato a true sono inseriti
// nello standar output
i log dell'invio mail
mailSession.setDebug(true);
Transport transport = mailSession.getTransport();
MimeMessage
message = new MimeMessage(mailSession);
message.setContent("Prova
invio mail \n Non rispondere prego", "text/plain");
message.setSubject("Invio di
prova");
message.setFrom(new InternetAddress("noreply@test.it"));
message.addRecipient(Message.RecipientType.TO,newInternetAddress("mailReceiver@test.it"));
transport.connect();
System.out.println("Invio....");
transport.sendMessage(message,
message.getRecipients(Message.RecipientType.TO));
transport.close();
System.out.println("Inviato....");
}
private class
SMTPAuthenticator extends javax.mail.Authenticator {
public
PasswordAuthentication getPasswordAuthentication() {
String username = SMTP_AUTH_USER;
String
password = SMTP_AUTH_PWD;
return new
PasswordAuthentication(username, password);
}
}
}
Nessun commento:
Posta un commento