Example usage for javax.mail Session getTransport

List of usage examples for javax.mail Session getTransport

Introduction

In this page you can find the example usage for javax.mail Session getTransport.

Prototype

public Transport getTransport() throws NoSuchProviderException 

Source Link

Document

Get a Transport object that implements this user's desired Transport protcol.

Usage

From source file:com.gcrm.util.mail.MailService.java

public void sendSimpleMail(String toAddress) throws Exception {
    List<EmailSetting> emailSettings = baseService.getAllObjects(EmailSetting.class.getSimpleName());
    EmailSetting emailSetting = null;//from   w w w .  j  av a  2s. c om
    if (emailSettings != null && emailSettings.size() > 0) {
        emailSetting = emailSettings.get(0);
    } else {
        return;
    }
    Session mailSession = this.createSmtpSession(emailSetting);
    if (mailSession != null) {
        Transport transport = mailSession.getTransport();
        MimeMessage msg = new MimeMessage(mailSession);
        MimeMessageHelper helper = new MimeMessageHelper(msg, true, "utf-8");
        helper.setFrom(emailSetting.getFrom_address());
        helper.setTo(toAddress);
        helper.setSubject("Test Mail From " + emailSetting.getFrom_name());
        helper.setText("This is test mail from " + emailSetting.getFrom_name(), true);
        transport.connect();
        transport.sendMessage(msg, msg.getRecipients(Message.RecipientType.TO));
    }
}

From source file:com.gcrm.util.mail.MailService.java

public void sendSystemSimpleMail(String toAddress, String subject, String text) throws Exception {
    List<EmailSetting> emailSettings = baseService.getAllObjects(EmailSetting.class.getSimpleName());
    EmailSetting emailSetting = null;//w  ww.  j a v a  2s . co m
    if (emailSettings != null && emailSettings.size() > 0) {
        emailSetting = emailSettings.get(0);
    } else {
        return;
    }
    Session mailSession = this.createSmtpSession(emailSetting);
    if (mailSession != null) {
        Transport transport = mailSession.getTransport();
        MimeMessage msg = new MimeMessage(mailSession);
        MimeMessageHelper helper = new MimeMessageHelper(msg, true, "utf-8");
        helper.setFrom(emailSetting.getFrom_address());
        helper.setTo(toAddress);
        helper.setSubject(subject);
        helper.setText(text, true);
        transport.connect();
        transport.sendMessage(msg, msg.getRecipients(Message.RecipientType.TO));
    }
}

From source file:com.gcrm.util.mail.MailService.java

public void sendHtmlMail(String from, String[] to, String subject, String text, String[] fileNames,
        File[] files) throws Exception {
    List<EmailSetting> emailSettings = baseService.getAllObjects(EmailSetting.class.getSimpleName());
    EmailSetting emailSetting = null;//from ww  w  .  j a  v a 2 s  .c  om
    if (emailSettings != null && emailSettings.size() > 0) {
        emailSetting = emailSettings.get(0);
    } else {
        return;
    }
    if (from == null) {
        from = emailSetting.getFrom_address();
    }
    Session mailSession = createSmtpSession(emailSetting);

    if (mailSession != null) {
        Transport transport = mailSession.getTransport();
        MimeMessage msg = new MimeMessage(mailSession);
        MimeMessageHelper helper = new MimeMessageHelper(msg, true, "utf-8");
        helper.setFrom(from);
        helper.setTo(to);
        helper.setSubject(subject);
        helper.setText(text, true);
        if (fileNames != null && files != null) {
            String fileName = null;
            File file = null;
            for (int i = 0; i < fileNames.length; i++) {
                fileName = fileNames[i];
                file = files[i];
                if (fileName != null && file != null) {
                    helper.addAttachment(fileName, file);
                }
            }
        }
        transport.connect();
        transport.sendMessage(msg, msg.getRecipients(Message.RecipientType.TO));
    }

}

From source file:egovframework.oe1.cms.cmm.notify.email.service.impl.EgovOe1SSLMailServiceImpl.java

protected void send(String subject, String content, String contentType) throws Exception {
    Properties props = new Properties();

    props.put("mail.transport.protocol", "smtps");
    props.put("mail.smtps.host", getHost());
    props.put("mail.smtps.auth", "true");

    Session mailSession = Session.getDefaultInstance(props);
    mailSession.setDebug(false);/*from  w  ww . j  ava  2 s  . com*/
    Transport transport = mailSession.getTransport();

    MimeMessage message = new MimeMessage(mailSession);
    message.setFrom(new InternetAddress("www.egovframe.org", "webmaster", "euc-kr"));
    message.setSubject(subject);

    MimeBodyPart mbp1 = new MimeBodyPart();
    mbp1.setText(content, "utf-8");

    Multipart mp = new MimeMultipart();
    mp.addBodyPart(mbp1);

    List<String> fileNames = getAtchFileIds();

    for (Iterator<String> it = fileNames.iterator(); it.hasNext();) {
        MimeBodyPart mbp2 = new MimeBodyPart();

        // attach the file to the message
        FileDataSource fds = new FileDataSource(it.next());
        mbp2.setDataHandler(new DataHandler(fds));

        mbp2.setFileName(MimeUtility.encodeText(fds.getName(), "euc-kr", "B")); // Q : ascii, B : 

        mp.addBodyPart(mbp2);
    }

    // add the Multipart to the message
    message.setContent(mp);

    for (Iterator<String> it = getReceivers().iterator(); it.hasNext();)
        message.addRecipient(Message.RecipientType.TO, new InternetAddress(it.next()));

    transport.connect(getHost(), getPort(), getUsername(), getPassword());
    transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
    transport.close();
}

From source file:ste.xtest.mail.BugFreeFileTransport.java

@Test
public void configuration_from_local_or_system() throws Exception {
    config.remove(MAIL_FILE_PATH);//from   w w w .  jav  a2  s .co m
    config.remove(MAIL_FILE_REQUIRE_SSL);

    //
    // system property $MAIL_FILE_PATH set in setUp()
    //
    System.setProperty(MAIL_FILE_PATH, "path_from_system");

    Session s = Session.getInstance(config);
    FileTransport t = (FileTransport) s.getTransport();
    then(t.getProperty(MAIL_FILE_PATH)).isEqualTo("path_from_system");

    //
    // local property overrides system property
    //
    config.setProperty(MAIL_FILE_PATH, "path_from_local");
    s = Session.getInstance(config);
    t = (FileTransport) s.getTransport();
    then(t.getProperty(MAIL_FILE_PATH)).isEqualTo("path_from_local");

    //
    // system property $MAIL_FILE_REQUIRE_TLS set in setUp()
    //
    System.setProperty(MAIL_FILE_REQUIRE_SSL, "tls_from_system");

    s = Session.getInstance(config);
    t = (FileTransport) s.getTransport();
    then(t.getProperty(MAIL_FILE_REQUIRE_SSL)).isEqualTo("tls_from_system");

    //
    // local property overrides system property
    //
    config.setProperty(MAIL_FILE_REQUIRE_SSL, "tls_from_local");
    s = Session.getInstance(config);
    t = (FileTransport) s.getTransport();
    then(t.getProperty(MAIL_FILE_REQUIRE_SSL)).isEqualTo("tls_from_local");
}

From source file:org.fireflow.service.email.send.MailSenderImpl.java

public void sendEMail(MailMessage mailMessage) throws ServiceInvocationException {

    //1?Session/*www.j a  v a2  s .c  o  m*/
    Properties javaMailProperties = new Properties();

    javaMailProperties.put("mail.transport.protocol", mailServiceDef.getProtocol());
    javaMailProperties.put("mail.smtp.host", mailServiceDef.getSmtpServer());
    javaMailProperties.put("mail.smtp.auth", mailServiceDef.isNeedAuth() ? "true" : "false");
    if (mailServiceDef.isUseSSL()) {
        javaMailProperties.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
        javaMailProperties.setProperty("mail.smtp.socketFactory.fallback", "false");
        javaMailProperties.setProperty("mail.smtp.socketFactory.port",
                Integer.toString(mailServiceDef.getSmtpPort()));
    }

    Session mailSession = Session.getInstance(javaMailProperties);

    //2?MimeMessage
    MimeMessage mimeMsg = null;
    try {
        mimeMsg = createMimeMessage(mailSession, mailMessage);

        //3???
        Transport transport = mailSession.getTransport();
        transport.connect(mailServiceDef.getUserName(), mailServiceDef.getPassword());

        transport.sendMessage(mimeMsg, mimeMsg.getAllRecipients());
    } catch (AddressException e) {
        throw new ServiceInvocationException(e);
    } catch (MessagingException e) {
        throw new ServiceInvocationException(e);
    }
}

From source file:org.sigmah.server.mail.MailSenderImpl.java

@Override
public void sendFile(Email email, String fileName, InputStream fileStream) throws EmailException {
    final String user = email.getAuthenticationUserName();
    final String password = email.getAuthenticationPassword();

    final Properties properties = new Properties();
    properties.setProperty(MAIL_TRANSPORT_PROTOCOL, TRANSPORT_PROTOCOL);
    properties.setProperty(MAIL_SMTP_HOST, email.getHostName());
    properties.setProperty(MAIL_SMTP_PORT, Integer.toString(email.getSmtpPort()));

    final StringBuilder toBuilder = new StringBuilder();
    for (final String to : email.getToAddresses()) {
        if (toBuilder.length() > 0) {
            toBuilder.append(',');
        }/*from w ww  .ja  v a 2s .c o  m*/
        toBuilder.append(to);
    }

    final StringBuilder ccBuilder = new StringBuilder();
    if (email.getCcAddresses().length > 0) {
        for (final String cc : email.getCcAddresses()) {
            if (ccBuilder.length() > 0) {
                ccBuilder.append(',');
            }
            ccBuilder.append(cc);
        }
    }

    final Session session = javax.mail.Session.getInstance(properties);
    try {
        final DataSource attachment = new ByteArrayDataSource(fileStream,
                FileType.fromExtension(FileType.getExtension(fileName), FileType._DEFAULT).getContentType());

        final Transport transport = session.getTransport();

        if (password != null) {
            transport.connect(user, password);
        } else {
            transport.connect();
        }

        final MimeMessage message = new MimeMessage(session);

        // Configures the headers.
        message.setFrom(new InternetAddress(email.getFromAddress(), false));
        message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(toBuilder.toString(), false));
        if (email.getCcAddresses().length > 0) {
            message.setRecipients(Message.RecipientType.CC, InternetAddress.parse(ccBuilder.toString(), false));
        }

        message.setSubject(email.getSubject(), email.getEncoding());

        // Html body part.
        final MimeMultipart textMultipart = new MimeMultipart("alternative");

        final MimeBodyPart htmlBodyPart = new MimeBodyPart();
        htmlBodyPart.setContent(email.getContent(), "text/html; charset=\"" + email.getEncoding() + "\"");
        textMultipart.addBodyPart(htmlBodyPart);

        final MimeBodyPart textBodyPart = new MimeBodyPart();
        textBodyPart.setContent(textMultipart);

        // Attachment body part.
        final MimeBodyPart attachmentPart = new MimeBodyPart();
        attachmentPart.setDataHandler(new DataHandler(attachment));
        attachmentPart.setFileName(fileName);
        attachmentPart.setDescription(fileName);

        // Mail multipart content.
        final MimeMultipart contentMultipart = new MimeMultipart("related");
        contentMultipart.addBodyPart(textBodyPart);
        contentMultipart.addBodyPart(attachmentPart);

        message.setContent(contentMultipart);
        message.saveChanges();

        // Sends the mail.
        transport.sendMessage(message, message.getAllRecipients());

    } catch (UnsupportedEncodingException ex) {
        throw new EmailException(
                "An error occured while encoding the mail content to '" + email.getEncoding() + "'.", ex);

    } catch (IOException ex) {
        throw new EmailException("An error occured while reading the attachment of an email.", ex);

    } catch (MessagingException ex) {
        throw new EmailException("An error occured while sending an email.", ex);
    }
}

From source file:ste.xtest.mail.BugFreeFileTransport.java

private void sendSimpleMessage(String from, String to, String subject, String body) throws Exception {
    Session session = Session.getInstance(config);

    MimeMessage message = new MimeMessage(session);
    message.setFrom(new InternetAddress(from));
    message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
    message.setSubject(subject);//from  w w  w . j a  v a 2s  .c o m
    message.setText(body);

    session.getTransport().sendMessage(message, message.getAllRecipients());
}

From source file:fsi_admin.JSmtpConn.java

private boolean sendMsg(String HOST, String USERNAME, String PASSWORD, StringBuffer msj, Session session,
        MimeMessage mmsg, MimeMultipart multipart) {
    try {/*w  ww.ja v  a  2 s  .co m*/
        mmsg.setContent(multipart);
        // Create a transport.        
        Transport transport = session.getTransport();
        // Send the message.
        System.out.println(HOST + " " + USERNAME + " " + PASSWORD);
        transport.connect(HOST, USERNAME, PASSWORD);
        // Send the email.
        transport.sendMessage(mmsg, mmsg.getAllRecipients());
        transport.close();

        return true;
    } catch (MessagingException e) {
        e.printStackTrace();
        msj.append("Error de Mensajeria al enviar SMTP: " + e.getMessage());
        return false;
    } catch (Exception ex) {
        ex.printStackTrace();
        msj.append("Error general de mensaje al enviar SMTP: " + ex.getMessage());
        return false;
    }

}

From source file:ste.xtest.mail.BugFreeFileTransport.java

@Test
public void send_multipart_message() throws Exception {
    Session session = Session.getInstance(config);

    Message message = new MimeMessage(Session.getInstance(config));
    message.setFrom(new InternetAddress("from@domain.com"));
    message.addRecipient(Message.RecipientType.TO, new InternetAddress("to@domain.com"));
    message.setSubject("the subject");
    MimeMultipart multipart = new MimeMultipart("related");

    BodyPart messageBodyPart = new MimeBodyPart();
    String htmlText = "<H1>hello world</H1><img src=\"cid:image\">";
    messageBodyPart.setContent(htmlText, "text/html");
    multipart.addBodyPart(messageBodyPart);
    messageBodyPart = new MimeBodyPart();
    DataSource fds = new FileDataSource("src/test/resources/images/6096.png");

    messageBodyPart.setDataHandler(new DataHandler(fds));
    messageBodyPart.setHeader("Content-ID", "<image>");

    multipart.addBodyPart(messageBodyPart);
    message.setContent(multipart);/*  w ww .  jav a2s  .  c  o  m*/

    session.getTransport().sendMessage(message, message.getAllRecipients());

    then(FileUtils.readFileToString(new File(TMP.getRoot(), "message"))).contains("From: from@domain.com\r")
            .contains("To: to@domain.com\r").contains("Subject: the subject\r").contains("hello world")
            .contains("Content-ID: <image>");
}