List of usage examples for javax.mail Session setDebug
public synchronized void setDebug(boolean debug)
From source file:fr.paris.lutece.portal.service.mail.MailUtil.java
/** * Open mail session with the SMTP server using the given credentials. Will * use no authentication if strUsername is null or blank. * * @param strHost The SMTP name or IP address. * @param nPort The port to use//from ww w . ja va 2s.co m * @param strUsername the username * @param strPassword the password * @return the mails session object */ protected static Session getMailSession(String strHost, int nPort, final String strUsername, final String strPassword) { String strDebug = AppPropertiesService.getProperty(PROPERTY_MAIL_SESSION_DEBUG, Boolean.FALSE.toString()); boolean bSessionDebug = Boolean.parseBoolean(strDebug); // Initializes a mail session with the SMTP server Properties props = System.getProperties(); props.put(MAIL_HOST, strHost); props.put(MAIL_TRANSPORT_PROTOCOL, SMTP); props.put(MAIL_PROPTOCOL_HOST, strHost); props.put(MAIL_PROPTOCOL_PORT, nPort); Authenticator auth; if (StringUtils.isNotBlank(strUsername)) { props.put(MAIL_SMTP_AUTH, TRUE); // using authenticator class that return a PasswordAuthentication auth = new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(strUsername, strPassword); } }; } else { // no authentication data provided, no authenticator auth = null; } Session mailSession = Session.getDefaultInstance(props, auth); // Activate debugging mailSession.setDebug(bSessionDebug); return mailSession; }
From source file:edu.ku.brc.helpers.EMailHelper.java
/** * Send an email. Also sends it as a gmail if applicable, and does password checking. * @param host host of SMTP server// w w w.j ava 2 s . c om * @param uName username of email account * @param pWord password of email account * @param fromEMailAddr the email address of who the email is coming from typically this is the same as the user's email * @param toEMailAddr the email addr of who this is going to * @param subject the Textual subject line of the email * @param bodyText the body text of the email (plain text???) * @param fileAttachment and optional file to be attached to the email * @return true if the msg was sent, false if not */ public static boolean sendMsgAsGMail(final String host, final String uName, final String pWord, final String fromEMailAddr, final String toEMailAddr, final String subject, final String bodyText, final String mimeType, @SuppressWarnings("unused") final String port, @SuppressWarnings("unused") final String security, final File fileAttachment) { String userName = uName; String password = pWord; Boolean fail = false; ArrayList<String> userAndPass = new ArrayList<String>(); Properties props = System.getProperties(); props.put("mail.smtp.host", host); //$NON-NLS-1$ props.put("mail.smtp.auth", "true"); //$NON-NLS-1$ //$NON-NLS-2$ props.put("mail.smtp.port", "587"); //$NON-NLS-1$ //$NON-NLS-2$ props.put("mail.smtp.starttls.enable", "true"); //$NON-NLS-1$ //$NON-NLS-2$ boolean usingSSL = false; if (usingSSL) { props.put("mail.smtps.port", "587"); //$NON-NLS-1$ //$NON-NLS-2$ props.put("mail.smtp.starttls.enable", "true"); //$NON-NLS-1$ //$NON-NLS-2$ } Session session = Session.getInstance(props, null); session.setDebug(instance.isDebugging); if (instance.isDebugging) { log.debug("Host: " + host); //$NON-NLS-1$ log.debug("UserName: " + userName); //$NON-NLS-1$ log.debug("Password: " + password); //$NON-NLS-1$ log.debug("From: " + fromEMailAddr); //$NON-NLS-1$ log.debug("To: " + toEMailAddr); //$NON-NLS-1$ log.debug("Subject: " + subject); //$NON-NLS-1$ } try { // create a message MimeMessage msg = new MimeMessage(session); msg.setFrom(new InternetAddress(fromEMailAddr)); if (toEMailAddr.indexOf(",") > -1) //$NON-NLS-1$ { StringTokenizer st = new StringTokenizer(toEMailAddr, ","); //$NON-NLS-1$ InternetAddress[] address = new InternetAddress[st.countTokens()]; int i = 0; while (st.hasMoreTokens()) { String toStr = st.nextToken().trim(); address[i++] = new InternetAddress(toStr); } msg.setRecipients(Message.RecipientType.TO, address); } else { InternetAddress[] address = { new InternetAddress(toEMailAddr) }; msg.setRecipients(Message.RecipientType.TO, address); } msg.setSubject(subject); //msg.setContent( aBodyText , "text/html;charset=\"iso-8859-1\""); // create the second message part if (fileAttachment != null) { // create and fill the first message part MimeBodyPart mbp1 = new MimeBodyPart(); mbp1.setContent(bodyText, mimeType);//"text/html;charset=\"iso-8859-1\""); //mbp1.setContent(bodyText, "text/html;charset=\"iso-8859-1\""); MimeBodyPart mbp2 = new MimeBodyPart(); // attach the file to the message FileDataSource fds = new FileDataSource(fileAttachment); mbp2.setDataHandler(new DataHandler(fds)); mbp2.setFileName(fds.getName()); // create the Multipart and add its parts to it Multipart mp = new MimeMultipart(); mp.addBodyPart(mbp1); mp.addBodyPart(mbp2); // add the Multipart to the message msg.setContent(mp); } else { // add the Multipart to the message msg.setContent(bodyText, mimeType); } // set the Date: header msg.setSentDate(new Date()); // send the message int cnt = 0; do { cnt++; SMTPTransport t = (SMTPTransport) session.getTransport("smtp"); //$NON-NLS-1$ try { t.connect(host, userName, password); t.sendMessage(msg, msg.getAllRecipients()); fail = false; } catch (MessagingException mex) { edu.ku.brc.af.core.UsageTracker.incrHandledUsageCount(); edu.ku.brc.exceptions.ExceptionTracker.getInstance().capture(EMailHelper.class, mex); instance.lastErrorMsg = mex.toString(); Exception ex = null; if ((ex = mex.getNextException()) != null) { ex.printStackTrace(); instance.lastErrorMsg = instance.lastErrorMsg + ", " + ex.toString(); //$NON-NLS-1$ } //wrong username or password, get new one if (mex.toString().equals("javax.mail.AuthenticationFailedException")) //$NON-NLS-1$ { fail = true; userAndPass = askForUserAndPassword((Frame) UIRegistry.getTopWindow()); if (userAndPass == null) {//the user is done return false; } // else //try again userName = userAndPass.get(0); password = userAndPass.get(1); } } finally { log.debug("Response: " + t.getLastServerResponse()); //$NON-NLS-1$ t.close(); } } while (fail && cnt < 6); } catch (MessagingException mex) { edu.ku.brc.af.core.UsageTracker.incrHandledUsageCount(); edu.ku.brc.exceptions.ExceptionTracker.getInstance().capture(EMailHelper.class, mex); instance.lastErrorMsg = mex.toString(); //mex.printStackTrace(); Exception ex = null; if ((ex = mex.getNextException()) != null) { ex.printStackTrace(); instance.lastErrorMsg = instance.lastErrorMsg + ", " + ex.toString(); //$NON-NLS-1$ } return false; } catch (Exception ex) { edu.ku.brc.af.core.UsageTracker.incrHandledUsageCount(); edu.ku.brc.exceptions.ExceptionTracker.getInstance().capture(EMailHelper.class, ex); ex.printStackTrace(); } if (fail) { return false; } //else return true; }
From source file:SendMailImpl.java
public void sendMessage(String from, String[] recipients, String subject, String message) throws MessagingException { boolean debug = false; //Set the host smtp address Properties props = new Properties(); props.put("mail.smtp.host", smtpHost); // create some properties and get the default Session Session session = Session.getDefaultInstance(props, null); session.setDebug(debug); // create a message Message msg = new MimeMessage(session); // set the from and to address InternetAddress addressFrom = new InternetAddress(from); msg.setFrom(addressFrom);/*from ww w. j a va 2s . c om*/ 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); // Setting the Subject and Content Type msg.setSubject(subject); msg.setContent(message, "text/html"); Transport.send(msg); }
From source file:com.consol.citrus.demo.devoxx.service.MailService.java
/** * Send mail via SMTP connection./*from w ww.ja v a2 s. c o m*/ * @param to * @param subject * @param body */ public void sendMail(String to, String subject, String body) { Properties props = new Properties(); props.put("mail.smtp.host", mailServerHost); props.put("mail.smtp.port", mailServerPort); props.put("mail.smtp.auth", true); Authenticator authenticator = new Authenticator() { private PasswordAuthentication pa = new PasswordAuthentication(username, password); @Override public PasswordAuthentication getPasswordAuthentication() { return pa; } }; Session session = Session.getInstance(props, authenticator); session.setDebug(true); MimeMessage message = new MimeMessage(session); try { message.setFrom(new InternetAddress(from)); InternetAddress[] address = { new InternetAddress(to) }; message.setRecipients(Message.RecipientType.TO, address); message.setSubject(subject); message.setSentDate(new Date()); message.setText(body); Transport.send(message); } catch (MessagingException e) { log.error("Failed to send mail!", e); } }
From source file:org.apache.axis2.transport.mail.MailRequestResponseClient.java
@Setup @SuppressWarnings("unused") private void setUp(MailTestEnvironment env, MailChannel channel) throws MessagingException { this.channel = channel; Session session = channel.getReplySession(); session.setDebug(log.isTraceEnabled()); store = session.getStore(env.getProtocol()); MailTestEnvironment.Account sender = channel.getSender(); store.connect(sender.getLogin(), sender.getPassword()); }
From source file:com.ieprofile.helper.gmail.OAuth2Authenticator.java
/** * Connects and authenticates to an IMAP server with OAuth2. You must have * called {@code initialize}.//from w w w . j av a 2 s. c o m * * @param host Hostname of the imap server, for example {@code * imap.googlemail.com}. * @param port Port of the imap server, for example 993. * @param userEmail Email address of the user to authenticate, for example * {@code oauth@gmail.com}. * @param oauthToken The user's OAuth token. * @param debug Whether to enable debug logging on the IMAP connection. * * @return An authenticated IMAPStore that can be used for IMAP operations. */ public List<MessageBean> connectToImap(String host, int port, String userEmail, String oauthToken, boolean debug) throws Exception { Properties props = new Properties(); props.put("mail.imaps.sasl.enable", "true"); props.put("mail.imaps.sasl.mechanisms", "XOAUTH2"); props.put(OAuth2SaslClientFactory.OAUTH_TOKEN_PROP, oauthToken); Session session = Session.getInstance(props); session.setDebug(debug); final URLName unusedUrlName = null; IMAPSSLStore store = new IMAPSSLStore(session, unusedUrlName); final String emptyPassword = ""; store.connect(host, port, userEmail, emptyPassword); Folder inbox = store.getFolder("Inbox"); inbox.open(Folder.READ_WRITE); Message messages[] = inbox.getMessages(); int messageCount = inbox.getMessageCount(); List<String> attachments = new ArrayList<String>(); LinkedList<MessageBean> listMessages = emailListener.sendMessage(messages, attachments); emailRepo.addAllMessages(listMessages); emailListener.folder = inbox; emailListener.started = false; emailListener.start(); //ArrayList<String> attachments = new ArrayList<String>(); //LinkedList<MessageBean> listMessages = getPart(messages, attachments); //store.close(); return emailRepo.getMessages(); }
From source file:org.roda.core.util.EmailUtility.java
/** * @param from/* w w w . j ava 2 s. c om*/ * @param recipients * @param subject * @param message * @throws MessagingException */ public void sendMail(String from, String recipients[], String subject, String message) throws MessagingException { boolean debug = false; // Set the host smtp address Properties props = new Properties(); props.put("mail.smtp.host", this.smtpHost); // create some properties and get the default Session Session session = Session.getDefaultInstance(props, null); session.setDebug(debug); // 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"); String htmlMessage = String.format( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<html><body><pre>%s</pre></body></html>", StringEscapeUtils.escapeHtml4(message)); MimeMultipart mimeMultipart = new MimeMultipart(); MimeBodyPart mimeBodyPart = new MimeBodyPart(); mimeBodyPart.setContent(htmlMessage, "text/html;charset=UTF-8"); mimeMultipart.addBodyPart(mimeBodyPart); // Setting the Subject and Content Type msg.setSubject(subject); msg.setContent(mimeMultipart); // msg.setContent(message, "text/plain;charset=UTF-8"); Transport.send(msg); }
From source file:com.silverpeas.mailinglist.service.job.TestZimbraConnection.java
@Test public void testOpenImapConnection() { URL url = this.getClass().getClassLoader().getResource("truststore.jks"); String path = url.getPath();//from w ww .j a v a2s.c o m System.setProperty("javax.net.ssl.trustStore", path); System.setProperty("javax.net.ssl.trustStorePassword", "changeit"); Store mailAccount = null; Folder inbox = null; Session mailSession = Session.getInstance(System.getProperties()); try { mailSession.setDebug(true); mailAccount = mailSession.getStore(props.getProperty("mail.server.protocol")); mailAccount.connect(props.getProperty("mail.server.host"), Integer.parseInt(props.getProperty("mail.server.port")), props.getProperty("mail.server.login"), props.getProperty("mail.server.password")); inbox = mailAccount.getFolder("INBOX"); if (inbox == null) { throw new MessagingException("No POP3 INBOX"); } // -- Open the folder for read write -- inbox.open(Folder.READ_WRITE); // -- Get the message wrappers and process them -- Message[] msgs = inbox.getMessages(); FetchProfile profile = new FetchProfile(); profile.add(FetchProfile.Item.FLAGS); inbox.fetch(msgs, profile); } catch (MessagingException mex) { SilverTrace.error("mailingList", "MessageChecker.checkNewMessages", "mail.processing.error", mex); } catch (Exception mex) { SilverTrace.error("mailingList", "MessageChecker.checkNewMessages", "mail.processing.error", mex); } finally { // -- Close down nicely -- try { if (inbox != null) { inbox.close(false); } if (mailAccount != null) { mailAccount.close(); } } catch (Exception ex2) { SilverTrace.error("mailingList", "MessageChecker.checkNewMessages", "mail.processing.error", ex2); } } }
From source file:com.silverpeas.mailinglist.service.job.TestYahooMailConnection.java
@Test public void testOpenImapConnection() throws Exception { Store mailAccount = null;// ww w.j a v a 2 s . c o m Folder inbox = null; Session mailSession = Session.getInstance(System.getProperties()); try { mailSession.setDebug(true); mailAccount = mailSession.getStore(props.getProperty("mail.server.protocol")); mailAccount.connect(props.getProperty("mail.server.host"), Integer.parseInt(props.getProperty("mail.server.port")), props.getProperty("mail.server.login"), props.getProperty("mail.server.password")); inbox = mailAccount.getFolder("INBOX"); if (inbox == null) { throw new MessagingException("No POP3 INBOX"); } // -- Open the folder for read write -- inbox.open(Folder.READ_WRITE); // -- Get the message wrappers and process them -- javax.mail.Message[] msgs = inbox.getMessages(); FetchProfile profile = new FetchProfile(); profile.add(FetchProfile.Item.FLAGS); inbox.fetch(msgs, profile); MailProcessor processor = new MailProcessor(); MessageListener mailingList = mock(MessageListener.class); when(mailingList.checkSender(anyString())).thenReturn(Boolean.TRUE); when(mailingList.getComponentId()).thenReturn("mailingList38"); MessageEvent event = new MessageEvent(); for (javax.mail.Message message : msgs) { processor.prepareMessage((MimeMessage) message, mailingList, event); } assertThat(event.getMessages(), is(notNullValue())); assertThat(event.getMessages().size(), is(msgs.length)); for (com.silverpeas.mailinglist.service.model.beans.Message message : event.getMessages()) { assertThat(message, is(notNullValue())); assertThat(message.getMessageId(), is(notNullValue())); } } finally { // -- Close down nicely -- if (inbox != null) { inbox.close(false); } if (mailAccount != null) { mailAccount.close(); } } }
From source file:com.googlecode.psiprobe.tools.Mailer.java
public void send(MailMessage mailMessage) throws MessagingException { Properties props = (Properties) System.getProperties().clone(); if (smtp != null) { props.put(PROPERTY_KEY_SMTP, smtp); }// w w w. ja v a 2 s . c om PrintStream debugOut = LogOutputStream.createPrintStream(log, LogOutputStream.LEVEL_DEBUG); Session session = Session.getDefaultInstance(props); session.setDebug(true); session.setDebugOut(debugOut); MimeMessage message = createMimeMessage(session, mailMessage); log.debug("Sending message"); Transport.send(message); }