Java Code Examples for org.apache.commons.mail.HtmlEmail#setHtmlMsg()

The following examples show how to use org.apache.commons.mail.HtmlEmail#setHtmlMsg() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ReportMailer.java    From AisAbnormal with GNU Lesser General Public License v3.0 6 votes vote down vote up
/**
 * Send email with subject and message body.
 * @param subject the email subject.
 * @param body the email body.
 */
public void send(String subject, String body) {
    try {
        HtmlEmail email = new HtmlEmail();
        email.setHostName(configuration.getString(CONFKEY_REPORTS_MAILER_SMTP_HOST, "localhost"));
        email.setSmtpPort(configuration.getInt(CONFKEY_REPORTS_MAILER_SMTP_PORT, 465));
        email.setAuthenticator(new DefaultAuthenticator(
            configuration.getString(CONFKEY_REPORTS_MAILER_SMTP_USER, "anonymous"),
            configuration.getString(CONFKEY_REPORTS_MAILER_SMTP_PASS, "guest")
        ));
        email.setStartTLSEnabled(false);
        email.setSSLOnConnect(configuration.getBoolean(CONFKEY_REPORTS_MAILER_SMTP_SSL, true));
        email.setFrom(configuration.getString(CONFKEY_REPORTS_MAILER_SMTP_FROM, ""));
        email.setSubject(subject);
        email.setHtmlMsg(body);
        String[] receivers = configuration.getStringArray(CONFKEY_REPORTS_MAILER_SMTP_TO);
        for (String receiver : receivers) {
            email.addTo(receiver);
        }
        email.send();
        LOG.info("Report sent with email to " + email.getToAddresses().toString() + " (\"" + subject + "\")");
    } catch (EmailException e) {
        LOG.error(e.getMessage(), e);
    }
}
 
Example 2
Source File: MailActivityBehavior.java    From flowable-engine with Apache License 2.0 5 votes vote down vote up
protected HtmlEmail createHtmlEmail(String text, String html) {
    HtmlEmail email = new HtmlEmail();
    try {
        email.setHtmlMsg(html);
        if (text != null) { // for email clients that don't support html
            email.setTextMsg(text);
        }
        return email;
    } catch (EmailException e) {
        throw new FlowableException("Could not create HTML email", e);
    }
}
 
Example 3
Source File: MailActivityBehavior.java    From camunda-bpm-platform with Apache License 2.0 5 votes vote down vote up
protected HtmlEmail createHtmlEmail(String text, String html) {
  HtmlEmail email = new HtmlEmail();
  try {
    email.setHtmlMsg(html);
    if (text != null) { // for email clients that don't support html
      email.setTextMsg(text);
    }
    return email;
  } catch (EmailException e) {
    throw LOG.emailCreationException("HTML", e);
  }
}
 
Example 4
Source File: MimeMessageParserTest.java    From commons-email with Apache License 2.0 5 votes vote down vote up
@Test
public void testParseCreatedHtmlEmailWithMixedContent() throws Exception
{
    final Session session = Session.getDefaultInstance(new Properties());

    final HtmlEmail email = new HtmlEmail();

    email.setMailSession(session);

    email.setFrom("[email protected]");
    email.setSubject("Test Subject");
    email.addTo("[email protected]");
    email.setTextMsg("My test message");
    email.setHtmlMsg("<p>My HTML message</p>");

    email.buildMimeMessage();
    final MimeMessage msg = email.getMimeMessage();

    final MimeMessageParser mimeMessageParser = new MimeMessageParser(msg);
    mimeMessageParser.parse();

    assertEquals("Test Subject", mimeMessageParser.getSubject());
    assertNotNull(mimeMessageParser.getMimeMessage());
    assertTrue(mimeMessageParser.isMultipart());
    assertTrue(mimeMessageParser.hasHtmlContent());
    assertTrue(mimeMessageParser.hasPlainContent());
    assertNotNull(mimeMessageParser.getPlainContent());
    assertNotNull(mimeMessageParser.getHtmlContent());
    assertTrue(mimeMessageParser.getTo().size() == 1);
    assertTrue(mimeMessageParser.getCc().size() == 0);
    assertTrue(mimeMessageParser.getBcc().size() == 0);
    assertEquals("[email protected]", mimeMessageParser.getFrom());
    assertEquals("[email protected]", mimeMessageParser.getReplyTo());
    assertFalse(mimeMessageParser.hasAttachments());
}
 
Example 5
Source File: EmailManager.java    From gameserver with Apache License 2.0 5 votes vote down vote up
/**
 * Send a verification email to the user's email account if exist.
 * 
 * @param user
 */
public void sendVerifyEmail(Account account, IoSession session) {
	if ( StringUtil.checkNotEmpty(account.getEmail()) ) {
		if ( StringUtil.checkValidEmail(account.getEmail()) ) {
			try {
				String emailSmtp = GameDataManager.getInstance().getGameDataAsString(GameDataKey.EMAIL_SMTP, "mail.xinqihd.com");
				HtmlEmail email = new HtmlEmail();
				email.setHostName(emailSmtp);
				email.setAuthenticator(new DefaultAuthenticator(EMAIL_FROM, "xinqi@2012"));
				email.setFrom(EMAIL_FROM);
				String subject = Text.text("email.subject");
				String http = StringUtil.concat(GlobalConfig.getInstance().getStringProperty("runtime.httpserverid"), 
						Constant.PATH_SEP, "verifyemail", Constant.QUESTION, account.get_id().toString());
				String content = Text.text("email.content", account.getUserName(), http);
				email.setSubject(subject);
				email.setHtmlMsg(content);
				email.setCharset("GBK");
				email.addTo(account.getEmail());
				email.send();

				SysMessageManager.getInstance().sendClientInfoRawMessage(session, Text.text("email.sent"), 
						Action.NOOP, Type.NORMAL);
			} catch (EmailException e) {
				logger.debug("Failed to send verify email to user {}'s address:{}", account.getUserName(), account.getEmail());
			}
		} else {
			//email not valid
			SysMessageManager.getInstance().sendClientInfoRawMessage(session, "email.invalid", Action.NOOP, Type.NORMAL);
		}
	} else {
		//no email at all
		SysMessageManager.getInstance().sendClientInfoRawMessage(session, "email.no", Action.NOOP, Type.NORMAL);
	}
}
 
Example 6
Source File: MailActivityBehavior.java    From flowable-engine with Apache License 2.0 5 votes vote down vote up
protected HtmlEmail createHtmlEmail(String text, String html) {
    HtmlEmail email = new HtmlEmail();
    try {
        email.setHtmlMsg(html);
        if (text != null) { // for email clients that don't support html
            email.setTextMsg(text);
        }
        return email;
    } catch (EmailException e) {
        throw new ActivitiException("Could not create HTML email", e);
    }
}
 
Example 7
Source File: MailActivityBehavior.java    From flowable-engine with Apache License 2.0 5 votes vote down vote up
protected HtmlEmail createHtmlEmail(String text, String html) {
    HtmlEmail email = new HtmlEmail();
    try {
        email.setHtmlMsg(html);
        if (text != null) { // for email clients that don't support html
            email.setTextMsg(text);
        }
        return email;
    } catch (EmailException e) {
        throw new FlowableException("Could not create HTML email", e);
    }
}
 
Example 8
Source File: EmailHandler.java    From robozonky with Apache License 2.0 5 votes vote down vote up
@Override
public void send(final SessionInfo sessionInfo, final String subject,
        final String message, final String fallbackMessage) throws Exception {
    final HtmlEmail email = createNewEmail(sessionInfo);
    email.setSubject(subject);
    email.setHtmlMsg(message);
    email.setTextMsg(fallbackMessage);
    LOGGER.debug("Will send '{}' from {} to {} through {}:{} as {}.", email.getSubject(),
            email.getFromAddress(), email.getToAddresses(), email.getHostName(), email.getSmtpPort(),
            getSmtpUsername());
    email.send();
}
 
Example 9
Source File: MailActivityBehavior.java    From activiti6-boot2 with Apache License 2.0 5 votes vote down vote up
protected HtmlEmail createHtmlEmail(String text, String html) {
  HtmlEmail email = new HtmlEmail();
  try {
    email.setHtmlMsg(html);
    if (text != null) { // for email clients that don't support html
      email.setTextMsg(text);
    }
    return email;
  } catch (EmailException e) {
    throw new ActivitiException("Could not create HTML email", e);
  }
}
 
Example 10
Source File: MailActivityBehavior.java    From activiti6-boot2 with Apache License 2.0 5 votes vote down vote up
protected HtmlEmail createHtmlEmail(String text, String html) {
  HtmlEmail email = new HtmlEmail();
  try {
    email.setHtmlMsg(html);
    if (text != null) { // for email clients that don't support html
      email.setTextMsg(text);
    }
    return email;
  } catch (EmailException e) {
    throw new ActivitiException("Could not create HTML email", e);
  }
}
 
Example 11
Source File: EmailUtil.java    From SpringMVC-Project with MIT License 5 votes vote down vote up
/**
 * 发送HTML格式邮件
 */
public static void sendHtmlEmail(Authenticator authenticator, String hostName, Tuple2<String, String> fromInfo, List<Tuple2<String, String>> toList, List<Tuple2<String, String>> ccList, String subject, String htmlContent) throws EmailException {
    HtmlEmail htmlEmail = buildHtmlEmail(authenticator, hostName, fromInfo, toList, ccList, subject);
    htmlEmail.setHtmlMsg(htmlContent);

    htmlEmail.send();
}
 
Example 12
Source File: RegistrationController.java    From MaxKey with Apache License 2.0 4 votes vote down vote up
@RequestMapping(value={"/register"})
public ModelAndView reg(@ModelAttribute("registration") Registration registration) {
	_logger.debug("Registration  /registration/register.");
	_logger.debug(""+registration);
	ModelAndView modelAndView= new ModelAndView("registration/registered");
	
	UserInfo userInfo =registrationService.queryUserInfoByEmail(registration.getWorkEmail());
	
	if(userInfo!=null){
		modelAndView.addObject("registered", 1);
		return modelAndView;
	}
	
	registration.setId(registration.generateId());
	registrationService.insert(registration);
	HtmlEmail email = new HtmlEmail();
	  
	  try {
		email.setHostName(applicationConfig.getEmailConfig().getSmtpHost());
		email.setSmtpPort(applicationConfig.getEmailConfig().getPort());
		email.setAuthenticator(new DefaultAuthenticator(applicationConfig.getEmailConfig().getUsername(), applicationConfig.getEmailConfig().getPassword()));
		
		email.addTo(registration.getWorkEmail(), registration.getLastName()+registration.getFirstName());
		email.setFrom(applicationConfig.getEmailConfig().getSender(), "ConnSec");
		email.setSubject("ConnSec Cloud Identity & Access Registration activate Email .");
		  
		String activateUrl=WebContext.getHttpContextPath()+"/registration/forward/activate/"+registration.getId();
		
		
		// set the html message
		String emailText="<html>";
		 			emailText+="<a href='"+activateUrl+"'>activate</a><br>";
		 			emailText+=" or copy "+activateUrl+" to brower.";
		 	   emailText+="</html>";
		email.setHtmlMsg(emailText);
		
		// set the alternative message
		email.setTextMsg("Your email client does not support HTML messages");
		
		// send the email
		email.send();
	} catch (EmailException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	  modelAndView.addObject("registered", 0); 
	return  modelAndView;
}
 
Example 13
Source File: EmailHelper.java    From dts-shop with GNU Lesser General Public License v3.0 4 votes vote down vote up
/**
 * 发送HTML格式的邮件
 *
 * @param host
 *            Email服务器主机
 * @param port
 *            Email服务器端口
 * @param userName
 *            登录账号
 * @param password
 *            登录密码
 * @param sslEnabled
 *            是否启用SSL
 * @param toAddress
 *            邮件接受者地址
 * @param fromAddress
 *            邮件发送者地址
 * @param fromName
 *            邮件发送者名称
 * @param subject
 *            邮件主题
 * @param htmlContent
 *            邮件内容,HTML格式
 * @return 邮件发送的MessageId,若为<code>null</code>,则发送失败
 */
public static String sendHtml(String host, int port, String userName, String password, boolean sslEnabled,
		String fromAddress, String fromName, String[] toAddress, String subject, String htmlContent) {
	HtmlEmail email = new HtmlEmail();
	email.setHostName(host);
	email.setSmtpPort(port);
	email.setAuthenticator(new DefaultAuthenticator(userName, password));
	email.setCharset("UTF-8");
	if (sslEnabled) {
		email.setSslSmtpPort(String.valueOf(port));
		email.setSSLOnConnect(true);
	}
	try {
		email.setFrom(fromAddress, fromName);
		email.addTo(toAddress);
		email.setSubject(subject);
		email.setHtmlMsg(htmlContent);
		return email.send();
	} catch (EmailException e) {
		return null;
	}
}
 
Example 14
Source File: SendEmaiWithGmail.java    From spring-boot with Apache License 2.0 4 votes vote down vote up
/**
 * 发送 html 格式的邮件
 * 
 * @param userName
 * @param password
 * @param subject
 * @param from
 * @param to
 * @param cc
 * @param bcc
 * @throws EmailException
 * @throws java.net.MalformedURLException
 */
public void sendHTMLEmail(String userName, String password, String subject,
		String from, String to, String cc, String bcc)
		throws EmailException, MalformedURLException {

	// 创建SimpleEmail对象
	HtmlEmail email = new HtmlEmail();

	// 显示调试信息用于IED中输出
	email.setDebug(true);

	// 设置发送电子邮件的邮件服务器
	email.setHostName("smtp.gmail.com");

	// 邮件服务器是否使用ssl加密方式gmail就是,163就不是)
	email.setSSL(Boolean.TRUE);

	// 设置smtp端口号(需要查看邮件服务器的说明ssl加密之后端口号是不一样的)
	email.setSmtpPort(465);

	// 设置发送人的账号/密码
	email.setAuthentication(userName, password);

	// 显示的发信人地址,实际地址为gmail的地址
	email.setFrom(from);
	// 设置发件人的地址/称呼
	// email.setFrom("[email protected]", "发送人");

	// 收信人地址
	email.addTo(to);
	// 设置收件人的账号/称呼)
	// email.addTo("[email protected]", "收件人");

	// 多个抄送地址
	StrTokenizer stokenCC = new StrTokenizer(cc.trim(), ";");
	// 开始逐个抄送地址
	for (int i = 0; i < stokenCC.getTokenArray().length; i++) {
		email.addCc((String) stokenCC.getTokenArray()[i]);
	}

	// 多个密送送地址
	StrTokenizer stokenBCC = new StrTokenizer(bcc.trim(), ";");
	// 开始逐个抄送地址
	for (int i = 0; i < stokenBCC.getTokenArray().length; i++) {
		email.addBcc((String) stokenBCC.getTokenArray()[i]);
	}

	// Set the charset of the message.
	email.setCharset("UTF-8");

	email.setSentDate(new Date());

	// 设置标题,但是不能设置编码,commons 邮件的缺陷
	email.setSubject(subject);

	// === 以上同 simpleEmail

	// ===html mail 内容
	StringBuffer msg = new StringBuffer();
	msg.append("<html><body>");
	// embed the image and get the content id

	// 远程图片
	URL url = new URL("http://www.apache.org/images/asf_logo_wide.gif");
	String cid = email.embed(url, "Apache logo");
	msg.append("<img src=\"cid:").append(cid).append("\">");

	// 本地图片
	File img = new File("d:/java.gif");
	msg.append("<img src=cid:").append(email.embed(img)).append(">");
	msg.append("</body></html>");

	// === html mail 内容

	// ==== // set the html message
	email.setHtmlMsg(msg.toString());
	// set the alternative message
	email.setTextMsg("Your email client does not support HTML messages");
	// send the email
	email.send();
	System.out.println("The HtmlEmail send sucessful!");

}
 
Example 15
Source File: EmailMessageSender.java    From dhis2-core with BSD 3-Clause "New" or "Revised" License 4 votes vote down vote up
@Override
public OutboundMessageResponse sendMessage( String subject, String text, String footer, User sender, Set<User> users, boolean forceSend )
{
    EmailConfiguration emailConfig = getEmailConfiguration();
    OutboundMessageResponse status = new OutboundMessageResponse();

    String errorMessage = "No recipient found";

    if ( emailConfig.getHostName() == null )
    {
        status.setOk( false );
        status.setDescription( EmailResponse.HOST_CONFIG_NOT_FOUND.getResponseMessage() );
        status.setResponseObject( EmailResponse.HOST_CONFIG_NOT_FOUND );
        return status;
    }

    String serverBaseUrl = configurationProvider.getServerBaseUrl();
    String plainContent = renderPlainContent( text, sender );
    String htmlContent = renderHtmlContent( text, footer, serverBaseUrl != null ? HOST + serverBaseUrl : "", sender );

    try
    {
        HtmlEmail email = getHtmlEmail( emailConfig.getHostName(), emailConfig.getPort(), emailConfig.getUsername(),
            emailConfig.getPassword(), emailConfig.isTls(), emailConfig.getFrom() );
        email.setSubject( getPrefixedSubject( subject ) );
        email.setTextMsg( plainContent );
        email.setHtmlMsg( htmlContent );

        boolean hasRecipients = false;

        for ( User user : users )
        {
            boolean doSend = forceSend
                || (Boolean) userSettingService.getUserSetting( UserSettingKey.MESSAGE_EMAIL_NOTIFICATION, user );

            if ( doSend && ValidationUtils.emailIsValid( user.getEmail() ) )
            {
                if ( isEmailValid( user.getEmail() ) )
                {
                    email.addBcc( user.getEmail() );
                    hasRecipients = true;

                    log.info( "Sending email to user: " + user.getUsername() + " with email address: " + user.getEmail() );
                }
                else
                {
                    log.warn( user.getEmail() + " is not a valid email for user: " + user.getUsername() );
                    errorMessage = "No valid email address found";
                }
            }
        }

        if ( hasRecipients )
        {
            email.send();

            log.info( "Email sent using host: " + emailConfig.getHostName() + ":" + emailConfig.getPort() + " with TLS: " + emailConfig.isTls() );
            status = new OutboundMessageResponse( "Email sent", EmailResponse.SENT, true );
        }
        else
        {
            status = new OutboundMessageResponse( errorMessage, EmailResponse.ABORTED, false );
        }
    }
    catch ( Exception ex )
    {
        log.error( "Error while sending email: " + ex.getMessage() + ", " + DebugUtils.getStackTrace( ex ) );
        status = new OutboundMessageResponse( "Email not sent: " + ex.getMessage(), EmailResponse.FAILED, false );
    }

    return status;
}
 
Example 16
Source File: EmailManager.java    From gameserver with Apache License 2.0 4 votes vote down vote up
/**
 * Process the forget password scenario
 * @return
 */
public boolean forgetPassword(String roleName, IoSession session) {
	String message = Text.text("forget.fail");
	boolean result = false;
	if ( StringUtil.checkNotEmpty(roleName) ) {
		Account account = AccountManager.getInstance().queryAccountByName(roleName);
		//User user = UserManager.getInstance().queryUserByRoleName(roleName);
		//if ( user != null ) {
		if ( account != null ) {
			String emailAddress = account.getEmail();
			if ( StringUtil.checkValidEmail(emailAddress) ) {
				try {
					Jedis jedis = JedisFactory.getJedisDB();
					String key = StringUtil.concat(Constant.FORGET_PASS_KEY, roleName);
					String tempPassword = jedis.get(key);
					if ( tempPassword != null ) {
						message = Text.text("forget.ok");
						result = true;
					} else {
						String emailSmtp = GameDataManager.getInstance().getGameDataAsString(GameDataKey.EMAIL_SMTP, "xinqihd.com");
						HtmlEmail email = new HtmlEmail();
						email.setHostName(emailSmtp);
						email.setAuthenticator(new DefaultAuthenticator(EMAIL_FROM, "xinqi@2012"));
						email.setFrom(EMAIL_FROM);
						String subject = Text.text("forget.subject");
						tempPassword = String.valueOf(System.currentTimeMillis()%10000);
						String displayRoleName = UserManager.getDisplayRoleName(account.getUserName());
						String content = Text.text("forget.content", displayRoleName, tempPassword);
						email.setSubject(subject);
						email.setHtmlMsg(content);
						email.setCharset("GBK");
						email.addTo(emailAddress);
						email.send();

						jedis.set(key, tempPassword);
						jedis.expire(key, Constant.HALF_HOUR_SECONDS);

						message = Text.text("forget.ok");
						result = true;
					}
				} catch (EmailException e) {
					logger.error("Failed to send email to user's email: {}", emailAddress);
					logger.debug("EmailException", e);
				}
			} else {
				message = Text.text("forget.noemail");
			}
			//StatClient.getIntance().sendDataToStatServer(user, StatAction.ForgetPassword, emailAddress, result);
		} else {
			message = Text.text("forget.nouser");	
		}
	} else {
		message = Text.text("forget.noname");
	}
	
	BseSysMessage.Builder builder = BseSysMessage.newBuilder();
	builder.setMessage(message);
	builder.setSeconds(5000);
	builder.setAction(XinqiSysMessage.Action.NOOP);
	builder.setType(XinqiSysMessage.Type.NORMAL);
	BseSysMessage sysMessage = builder.build();
	
	XinqiMessage response = new XinqiMessage();
	response.payload = sysMessage;
	session.write(response);
	
	return result;
}
 
Example 17
Source File: EmailHelper.java    From incubator-pinot with Apache License 2.0 4 votes vote down vote up
public static void sendEmailWithHtml(HtmlEmail email, SmtpConfiguration smtpConfiguration, String subject,
    String htmlBody, String fromAddress, DetectionAlertFilterRecipients recipients) throws EmailException {
  email.setHtmlMsg(htmlBody);
  sendEmail(smtpConfiguration, email, subject, fromAddress, recipients);
}