@Resource(name = "mail/gmail")private Session session;
private void sendMail(String to, String subject, String msg) {
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(session.getProperty("mail.smtp.user")));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
message.setSentDate(new Date());
message.setSubject(subject);
message.setContent(msg, "text/html");
Transport.send(message);
} catch (MessagingException e) {
LOGGER.severe(e.getMessage());
}
}
Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> | Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
<http://www.tomitribe.com> | JavaEE Factory
<https://javaeefactory-rmannibucau.rhcloud.com>
2016-05-27 13:32 GMT+02:00 paulhr <[email protected]>:
> Would you be willing to post your code? There is no JavaMail SSL/TLS
> example
> on the TomEE examples page. I did put in a request to add a JavaMail
> SSL/TLS example. Maybe I implemented my code wrong from reading this
> thread.
>
> http://tomee-openejb.979440.n4.nabble.com/Not-loading-smtps-resource-properly-td4664442.html#a4664460
> If you want you can take a look at what I have and see where I go wrong.
> When I use the same set of seven smtp parms on my google account I get the
> following error. At this point I am assuming there is something wrong with
> my code.
>
> smtps DEBUG: Successful connection
> MAIL FROM: <[email protected]>
> 530-5.5.1 Authentication Required. Learn more at
> org.apache.geronimo.javamail.transport.smtp.SMTPSendFailedException: 5.5.1
> Authentication Required. Learn more at
>
> ============================================
>
> // Recipient's email ID needs to be mentioned.
> String to = "[email protected]";
> InternetAddress[] addresses = new InternetAddress[1];
> ;
> try {
> addresses[0] = new InternetAddress("[email protected]
> ");
> } catch (AddressException e) {
> // TODO Auto-generated catch block
> e.printStackTrace();
> }
>
> // Sender's email ID needs to be mentioned
> String from = "[email protected]";
>
> // Assuming you are sending email from localhost
> // String host = "localhost";
>
>
> properties.setProperty("mail.debug", "true");
> properties.setProperty("mail.transport.protocol", "smtp");
> // properties.setProperty("mail.smtp.socketFactory.class",
> "javax.net.ssl.SSLSocketFactory");
> //
> properties.setProperty("mail.smtp.socketFactory.fallback", "false");
> properties.setProperty("mail.smtp.host", "smtp.gmail.com
> ");
> // properties.setProperty("mail.smtp.host", "
> mailout.easydns.com");
> properties.setProperty("mail.smtp.port", "587");
> // properties.setProperty("mail.smtp.port", "465");
> properties.setProperty("mail.smtp.auth", "true");
> properties.setProperty("mail.smtp.starttls.enable",
> "true");
> // properties.setProperty("mail.smtp.starttls.required",
> "true");
> properties.setProperty("mail.smtp.user", "[email protected]");
> // properties.setProperty("mail.smtp.user", "[email protected]
> ");
> // properties.setProperty("mail.smtp.password",
> "_mypassword_");
> //properties.setProperty("mail.smtp.password",
> "_mypassword_");
> // properties.setProperty("user", "[email protected]");
> // properties.setProperty("user", "[email protected]");
> properties.setProperty("password", "_mypassword_");
> // properties.setProperty("password", "_mypassword_");
>
> Session session = Session.getDefaultInstance(properties,
> new javax.mail.Authenticator() {
> protected PasswordAuthentication
> getPasswordAuthentication() {
> return new
> PasswordAuthentication(properties.getProperty("user"),
> properties.getProperty("password"));
> }
> });
>
> // Session session =
> Session.getDefaultInstance(properties);
> System.out.println("mail.debug: " +
> properties.getProperty("mail.debug"));
> System.out.println("mail.transport.protocol: " +
> properties.getProperty("mail.transport.protocol"));
> System.out.println("mail.smtp.socketFactory.class: " +
> properties.getProperty("mail.smtp.socketFactory.class"));
> System.out.println("mail.smtp.socketFactory.fallback: " +
> properties.getProperty("mail.smtp.socketFactory.fallback"));
> System.out.println("mail.smtp.host: " +
> properties.getProperty("mail.smtp.host"));
> System.out.println("mail.smtp.port: " +
> properties.getProperty("mail.smtp.port"));
> System.out.println("mail.smtp.auth: " +
> properties.getProperty("mail.smtp.auth"));
> System.out.println("mail.smtp.user: " +
> properties.getProperty("mail.smtp.user"));
> System.out.println("mail.smtp.password: " +
> properties.getProperty("mail.smtp.password"));
> System.out.println("mail.smtp.starttls.enable: " +
> properties.getProperty("mail.smtp.starttls.enable"));
> System.out.println("mail.smtp.starttls.required: " +
> properties.getProperty("mail.smtp.starttls.required"));
> System.out.println("user: " +
> properties.getProperty("user"));
> System.out.println("password: " +
> properties.getProperty("password"));
>
> System.out.println("mail.debug: " +
> session.getProperty("mail.debug"));
> System.out.println("mail.transport.protocol: " +
> session.getProperty("mail.transport.protocol"));
> System.out.println("mail.smtp.socketFactory.class: " +
> session.getProperty("mail.smtp.socketFactory.class"));
> System.out.println("mail.smtp.socketFactory.fallback: " +
> session.getProperty("mail.smtp.socketFactory.fallback"));
> System.out.println("mail.smtp.host: " +
> session.getProperty("mail.smtp.host"));
> System.out.println("mail.smtp.port: " +
> session.getProperty("mail.smtp.port"));
> System.out.println("mail.smtp.auth: " +
> session.getProperty("mail.smtp.auth"));
> System.out.println("mail.smtp.user: " +
> session.getProperty("mail.smtp.user"));
> System.out.println("mail.smtp.password: " +
> session.getProperty("mail.smtp.password"));
> System.out.println("mail.smtp.starttls.enable: " +
> session.getProperty("mail.smtp.starttls.enable"));
> System.out.println("mail.smtp.starttls.required: " +
> session.getProperty("mail.smtp.starttls.required"));
> System.out.println("user: " + session.getProperty("user"));
> System.out.println("password: " +
> session.getProperty("password"));
>
> // Set response content type
> response.setContentType("text/html");
> PrintWriter out = response.getWriter();
>
> try { // Create a default MimeMessage object.
> SMTPMessage message = new SMTPMessage(session);
> // MimeMessage message = new MimeMessage(session);
>
> // Set From: header field of the header.
> message.setFrom(new InternetAddress(from));
>
> // Set To: header field of the header.
> message.addRecipient(Message.RecipientType.TO,
> new InternetAddress(to));
>
> // Set Subject: header field
> message.setSubject("This is the Subject Line!");
>
> // Create the message part
> BodyPart messageBodyPart = new MimeBodyPart();
>
> // Fill the message messageBodyPart.setText("This
> is message body");
>
> // Create a multipart message
> Multipart multipart = new MimeMultipart();
>
> // Set text message part
> multipart.addBodyPart(messageBodyPart);
>
> // Part two is attachment messageBodyPart = new
> MimeBodyPart();
> String filename = "file.txt";
> DataSource source = new FileDataSource(filename);
> messageBodyPart.setDataHandler(new
> DataHandler(source));
> messageBodyPart.setFileName(filename);
> multipart.addBodyPart(messageBodyPart);
>
> SMTPSTransport smtpT = new SMTPSTransport(session,
> new
> URLName(session.getProperty("mail.smtp.host")));
>
> smtpT.connect(session.getProperty("mail.smtp.host"),
> session.getProperty("mail.smtp.user"),
> session.getProperty("mail.smtp.password"));
> smtpT.sendMessage(message, addresses);
>
> // Send the complete message parts
> message.setContent(multipart );
>
> // Send message
> Transport.send(message);
> String title = "Send Email";
> String res = "Sent message successfully....";
> String docType = "<!doctype html public
> \"-//w3c//dtd html 4.0
> " + "transitional//en\">\n";
> out.println(docType + "<html>\n" + "<head><title>"
> + title +
> "</title></head>\n"
> + "<body bgcolor=\"#f0f0f0\">\n" +
> "
> " + title + "
> \n"
> + "<p align=\"center\">" + res +
> "</p>\n" + "</body></html>");
> } catch (MessagingException mex) {
> mex.printStackTrace();
> }
>
> }
>
>
>
>
>
>
> --
> View this message in context:
> http://tomee-openejb.979440.n4.nabble.com/Why-does-Resource-crash-the-start-of-TomEE-tp4678614p4678634.html
> Sent from the TomEE Users mailing list archive at Nabble.com.
>