Properties mailProps = new Properties(); mailProps.put("mail.smtp.from", from); mailProps.put("mail.smtp.host", smtpHost); mailProps.put("mail.smtp.port", port); mailProps.put("mail.smtp.auth", true); mailProps.put("mail.smtp.socketFactory.port", port); return new PasswordAuthentication(login, password); message.setFrom(new InternetAddress(from)); String[] emails = { recipient }; InternetAddress dests[] = new InternetAddress[emails.length]; for (int i = 0; i < emails.length; i++) { dests[i] = new InternetAddress(emails[i].trim().toLowerCase()); message.setRecipients(Message.RecipientType.TO, dests); message.setSubject(subject, "UTF-8"); Multipart mp = new MimeMultipart(); MimeBodyPart mbp = new MimeBodyPart();
private void send(String to, String subj, String body, String contentType) throws Exception { MimeMessage message = new MimeMessage(session); message.setFrom(from); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to)); message.setSubject(subj, "UTF-8"); message.setContent(body, contentType); try (Transport transport = session.getTransport()) { transport.connect(host, username, password); transport.sendMessage(message, message.getAllRecipients()); } log.debug("Mail sent to {}. Subj: {}", to, subj); log.trace("Mail body: {}", body); }
private InternetAddress parseAddress(String address) throws MessagingException { InternetAddress[] parsed = InternetAddress.parse(address); if (parsed.length != 1) { throw new AddressException("Illegal address", address); } InternetAddress raw = parsed[0]; try { return (getEncoding() != null ? new InternetAddress(raw.getAddress(), raw.getPersonal(), getEncoding()) : raw); } catch (UnsupportedEncodingException ex) { throw new MessagingException("Failed to parse embedded personal name to correct encoding", ex); } }
public static boolean isValidEmailAddress(String email) { boolean result = true; try { InternetAddress emailAddr = new InternetAddress(email); emailAddr.validate(); } catch (AddressException ex) { result = false; } return result; }
@Override public Tuple<String, String> createValidEmailFromString(String email) throws AddressException { InternetAddress internetAddress = new InternetAddress(email); Tuple<String, String> tuple = new Tuple<String, String>(internetAddress.getAddress(), internetAddress .getPersonal()); return tuple; }
final String password = "yourpassword"; Properties props = new Properties(); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.host", "smtp.gmail.com"); props.put("mail.smtp.port", "587"); new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); message.setFrom(new InternetAddress("your_user_name@gmail.com")); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("to_email_address@domain.com"));
Properties prop = new Properties(); InputStream input = SentmailAttachFile.class.getResourceAsStream("/Sendmail.properties"); prop.load(input); String receiver = prop.getProperty("MAILADDRESS"); String mailCC = prop.getProperty("MAILCC"); Properties props = new Properties(); props.put("mail.smtp.host" , host); props.put("mail.smtp.auth" , "true" ); props.put("mail.transport.protocol", "smtp"); Session ss = Session.getInstance(props,null); MimeMessage ms = new MimeMessage(ss); ms.addRecipient(Message.RecipientType.TO,new InternetAddress(receiver)); ms.addRecipient(Message.RecipientType.CC, new InternetAddress(mailCC));
/** * Send email with a string content. * * @param to destination email address * @param subject email subject * @param content email content * @throws MessagingException message exception */ public void sendMail (String to, String subject, String content) throws MessagingException { Properties props = new Properties(); props.put("mail.smtp.user", emailConfg.getUser()); props.put("mail.smtp.host", emailConfg.getHost()); props.put("mail.smtp.port", emailConfg.getPort()); props.put("mail.smtp.starttls.enable","true"); props.put("mail.smtp.debug", emailConfg.getDebug()); props.put("mail.smtp.auth", emailConfg.getAuth()); props.put("mail.smtp.ssl.trust", emailConfg.host); SMTPAuthenticator auth = new SMTPAuthenticator(emailConfg.getUser(), (String)secret.get(SecretConstants.EMAIL_PASSWORD)); Session session = Session.getInstance(props, auth); MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(emailConfg.getUser())); message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); message.setSubject(subject); message.setContent(content, "text/html"); // Send message Transport.send(message); if(logger.isInfoEnabled()) logger.info("An email has been sent to " + to + " with subject " + subject); }
private Message createMessage() { Properties props = new Properties(); props.setProperty("mail.transport.protocol", "smtp"); props.setProperty("mail.smtp.auth", "true"); props.setProperty("mail.smtp.host", host); props.setProperty("mail.smtp.port", "25"); if (useSSL) { props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); props.setProperty("mail.smtp.port", "465"); } // error:javax.mail.MessagingException: 501 Syntax: HELO hostname props.setProperty("mail.smtp.localhost", "127.0.0.1"); Session session = Session.getInstance(props, this); Message message = new MimeMessage(session); try { message.setFrom(new InternetAddress(MimeUtility.encodeText(name) + "<" + name + ">")); } catch (Exception e) { logger.error(e.getMessage(), e); } return message; }
public static void sendMail(String toAddress, String fromAddress, String subject, String body) throws AddressException, MessagingException { String smtpServer = getMXRecordsForEmailAddress(toAddress); // create session Properties props = new Properties(); props.put("mail.smtp.host", smtpServer); Session session = Session.getDefaultInstance(props); // create message Message msg = new MimeMessage(session); msg.setFrom(new InternetAddress(fromAddress)); msg.setRecipient(Message.RecipientType.TO, new InternetAddress(toAddress)); msg.setSubject(subject); msg.setText(body); // send message Transport.send(msg); }
Properties props = new Properties(); props.put( "mail.smtp.host", ArgList[0] ); Session session = Session.getDefaultInstance( props, null ); session.setDebug( debug ); Message msg = new MimeMessage( session ); InternetAddress addressFrom = new InternetAddress( (String) ArgList[1] ); msg.setFrom( addressFrom ); addressTo[i] = new InternetAddress( strArrRecipients[i] ); Transport.send( msg ); } catch ( Exception e ) { throw new RuntimeException( "sendMail: " + e.toString() );
this.password = password; Properties props = new Properties(); props.setProperty("mail.transport.protocol", "smtp"); props.setProperty("mail.host", mailhost); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.port", "465"); props.put("mail.smtp.socketFactory.port", "465"); props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); return new PasswordAuthentication(user, password); MimeMessage message = new MimeMessage(session); DataHandler handler = new DataHandler(new ByteArrayDataSource(body.getBytes(), "text/plain")); message.setSender(new InternetAddress(sender)); message.setSubject(subject); message.setDataHandler(handler); if (recipients.indexOf(',') > 0) message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipients)); else message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipients)); Transport.send(message); }catch(Exception e){
public static void main(String[] args) throws Exception { String host = "smtp.gmail.com"; String username = "your-gmail-username@gmail.com"; String password = "gmail-password"; Properties props = new Properties(); props.put("mail.debug", true); Session session = Session.getInstance(props); MimeMessage msg = new MimeMessage(session); msg.setFrom(new InternetAddress(username)); msg.setRecipient(RecipientType.TO, new InternetAddress(username)); msg.setSubject("This is the Subject Line!"); msg.setContent("<h1>This is actual message</h1>", "text/html" ); Transport t = session.getTransport("smtps"); try { t.connect(host, username, password); t.sendMessage(msg, msg.getAllRecipients()); } finally { t.close(); } }
out.println("<h1>Sending email using JavaMail API</h1>"); Properties props = new Properties(); props.put("mail.smtp.host", "smtp.gmail.com"); props.put("mail.smtp.ssl.enable", "true"); props.put("mail.smtp.auth", "true"); props.put("mail.transport.protocol", "smtp"); props.put("mail.debug", "true"); Session session = Session.getInstance(props, new javax.mail.Authenticator() { @Override + "\"...<br>"); Message message = new MimeMessage(session); message.setFrom(new InternetAddress(creds.getFrom())); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(creds.getTo())); message.setSubject("Sending message using Programmatic JavaMail " + Calendar.getInstance().getTime()); message.setText("Java EE 7 is cool!"); Transport.send(message, message.getAllRecipients());
@Test public void javaMailProperties() throws MessagingException { Properties props = new Properties(); props.setProperty("bogusKey", "bogusValue"); MockJavaMailSender sender = new MockJavaMailSender() { @Override protected Transport getTransport(Session sess) throws NoSuchProviderException { assertEquals("bogusValue", sess.getProperty("bogusKey")); return super.getTransport(sess); } }; sender.setJavaMailProperties(props); sender.setHost("host"); sender.setUsername("username"); sender.setPassword("password"); MimeMessage mimeMessage = sender.createMimeMessage(); mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress("you@mail.org")); sender.send(mimeMessage); assertEquals("host", sender.transport.getConnectedHost()); assertEquals("username", sender.transport.getConnectedUsername()); assertEquals("password", sender.transport.getConnectedPassword()); assertTrue(sender.transport.isCloseCalled()); assertEquals(1, sender.transport.getSentMessages().size()); assertEquals(mimeMessage, sender.transport.getSentMessage(0)); }
String oauthToken, boolean debug) throws Exception { Properties props = new Properties(); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.starttls.required", "true"); props.put("mail.smtp.sasl.enable", "false"); session = Session.getInstance(props); session.setDebug(debug); message.setSender(new InternetAddress(user)); message.setSubject(subject); message.setDataHandler(handler); if (recipients.indexOf(',') > 0) message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipients)); else message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipients)); smtpTransport.sendMessage(message, message.getAllRecipients());
Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); InternetAddress tAddress = new InternetAddress(to); InternetAddress cAddress = cc.isEmpty() ? null : new InternetAddress(cc); InternetAddress fAddress = new InternetAddress(from);
properties = getProperties(new PropertiesProvider(user)); if (properties == null || !properties.containsKey("mail.smtp.host")) { properties = getProperties(new PropertiesProvider(Context.getConfig())); if (!properties.containsKey("mail.smtp.host")) { LOGGER.warn("No SMTP configuration found"); return; Session session = Session.getInstance(properties); MimeMessage message = new MimeMessage(session); String from = properties.getProperty("mail.smtp.from"); if (from != null) { message.setFrom(new InternetAddress(from)); message.addRecipient(Message.RecipientType.TO, new InternetAddress(user.getEmail())); message.setSubject(subject); message.setSentDate(new Date()); try (Transport transport = session.getTransport()) { Context.getStatisticsManager().registerMail(); transport.connect( properties.getProperty("mail.smtp.host"), properties.getProperty("mail.smtp.username"), properties.getProperty("mail.smtp.password")); transport.sendMessage(message, message.getAllRecipients());
String protocol = props.getProperty( PROP_TRANSPORT, "smtp" ); String host = props.getProperty( MAIL_PROP_PREFIX + protocol + ".host" ); String username = props.getProperty( MAIL_PROP_PREFIX + protocol + ".username" ); String password = props.getProperty( MAIL_PROP_PREFIX + protocol + ".password" ); Session session = Session.getInstance( props ); MimeMessage msg = new MimeMessage( session ); msg.setContent( msgContent ); msg.setFrom( new InternetAddress( from ) ); msg.addRecipient( Message.RecipientType.TO, new InternetAddress( to ) ); msg.setSubject( subject ); Transport transport = session.getTransport(); transport.connect( host, null, null ); }else{ transport.connect( host, username, password ); transport.sendMessage( msg, msg.getAllRecipients() ); transport.close(); logger.info( String.format( LOG_PREFIX_OK + " Message-id: "+msg.getMessageID(), to ) );
@Test public void javaMailSenderWithCustomSession() throws MessagingException { final Session session = Session.getInstance(new Properties()); MockJavaMailSender sender = new MockJavaMailSender() { @Override protected Transport getTransport(Session sess) throws NoSuchProviderException { assertEquals(session, sess); return super.getTransport(sess); } }; sender.setSession(session); sender.setHost("host"); sender.setUsername("username"); sender.setPassword("password"); MimeMessage mimeMessage = sender.createMimeMessage(); mimeMessage.setSubject("custom"); mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress("you@mail.org")); mimeMessage.setSentDate(new GregorianCalendar(2005, 3, 1).getTime()); sender.send(mimeMessage); assertEquals("host", sender.transport.getConnectedHost()); assertEquals("username", sender.transport.getConnectedUsername()); assertEquals("password", sender.transport.getConnectedPassword()); assertTrue(sender.transport.isCloseCalled()); assertEquals(1, sender.transport.getSentMessages().size()); assertEquals(mimeMessage, sender.transport.getSentMessage(0)); }