varios mail enviar destinatarios correo con autenticar archivo adjunto java smtp

enviar - java mail java



¿Cómo envío un mensaje SMTP desde Java? (6)

Consulte el siguiente tutorial en Java Practices.

http://www.javapractices.com/topic/TopicAction.do?Id=144

Posible duplicado:
¿Cómo se envía un correo electrónico desde una aplicación Java usando Gmail?

¿Cómo envío un mensaje SMTP desde Java?


import javax.mail.*; import javax.mail.internet.*; import java.util.*; public void postMail(String recipients[], String subject, String message , String from) throws MessagingException { //Set the host smtp address Properties props = new Properties(); props.put("mail.smtp.host", "smtp.jcom.net"); // create some properties and get the default Session Session session = Session.getDefaultInstance(props, null); session.setDebug(false); // create a message Message msg = new MimeMessage(session); // set the from and to address InternetAddress addressFrom = new InternetAddress(from); msg.setFrom(addressFrom); InternetAddress[] addressTo = new InternetAddress[recipients.length]; for (int i = 0; i < recipients.length; i++) { addressTo[i] = new InternetAddress(recipients[i]); } msg.setRecipients(Message.RecipientType.TO, addressTo); // Optional : You can also set your custom headers in the Email if you Want msg.addHeader("MyHeaderName", "myHeaderValue"); // Setting the Subject and Content Type msg.setSubject(subject); msg.setContent(message, "text/plain"); Transport.send(msg); }




Aquí hay un ejemplo para Gmail smtp:

import java.io.*; import java.net.InetAddress; import java.util.Properties; import java.util.Date; import javax.mail.*; import javax.mail.internet.*; import com.sun.mail.smtp.*; public class Distribution { public static void main(String args[]) throws Exception { Properties props = System.getProperties(); props.put("mail.smtps.host","smtp.gmail.com"); props.put("mail.smtps.auth","true"); Session session = Session.getInstance(props, null); Message msg = new MimeMessage(session); msg.setFrom(new InternetAddress("[email protected]"));; msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse("[email protected]", false)); msg.setSubject("Heisann "+System.currentTimeMillis()); msg.setText("Med vennlig hilsennTov Are Jacobsen"); msg.setHeader("X-Mailer", "Tov Are''s program"); msg.setSentDate(new Date()); SMTPTransport t = (SMTPTransport)session.getTransport("smtps"); t.connect("smtp.gmail.com", "[email protected]", "<insert password here>"); t.sendMessage(msg, msg.getAllRecipients()); System.out.println("Response: " + t.getLastServerResponse()); t.close(); } }

Ahora, hágalo de esta manera solo si desea mantener las dependencias de su proyecto al mínimo, de lo contrario, puedo recomendar encarecidamente el uso de clases de apache

http://commons.apache.org/email/

Saludos

Tov Are Jacobsen


Otra forma es usar aspirina ( https://github.com/masukomi/aspirin ) de esta manera:

MailQue.queMail(MimeMessage message)

..después de haber construido tu mimemessage como arriba.

Aspirin es un ''servidor'' smtp, por lo que no es necesario configurarlo. Pero tenga en cuenta que enviar un correo electrónico a un amplio grupo de destinatarios no es tan simple como parece debido a las diferentes reglas de filtrado de correo no deseado que reciben los servidores de correo y se aplican las aplicaciones cliente.