Search in sources :

Example 51 with InternetAddress

use of javax.mail.internet.InternetAddress in project midpoint by Evolveum.

the class PageSecurityQuestions method sendMailToUser.

public void sendMailToUser(final String userLogin, final String password, String newPassword, String host, String port, String sender, String receiver) {
    try {
        Properties props = new Properties();
        props.put("mail.transport.protocol", "smtp");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.host", host);
        props.put("mail.smtp.port", port);
        props.put("mail.smtp.starttls.enable", "true");
        Session session = Session.getInstance(props, new javax.mail.Authenticator() {

            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(userLogin, password);
            }
        });
        Message message = new MimeMessage(session);
        // TODO Localization
        message.setSubject("New Midpoint Password");
        message.setText("Password : " + newPassword + "\n");
        message.setFrom(new InternetAddress(sender));
        message.addRecipient(Message.RecipientType.TO, new InternetAddress(receiver));
        Transport.send(message);
    /*
			 * Session mailSession = Session.getDefaultInstance(props);
			 * MimeMessage message = new MimeMessage(mailSession);
			 * 
			 * message.setSubject("Engerek KYS Yeni Şifreniz");
			 * 
			 * message.setText("User Login : " + userLogin + "\n Password : " +
			 * password + "\n"); message.setFrom(new InternetAddress(sender));
			 * message.addRecipient(Message.RecipientType.TO, new
			 * InternetAddress(receiver)); Transport transport =
			 * mailSession.getTransport(); transport.connect();
			 * transport.sendMessage(message,
			 * message.getRecipients(Message.RecipientType.TO));
			 * transport.close();
			 */
    } catch (MessagingException ex) {
        LoggingUtils.logUnexpectedException(LOGGER, "Mail send Exception", ex);
    }
}
Also used : InternetAddress(javax.mail.internet.InternetAddress) Message(javax.mail.Message) MimeMessage(javax.mail.internet.MimeMessage) MimeMessage(javax.mail.internet.MimeMessage) MessagingException(javax.mail.MessagingException) Properties(java.util.Properties) Session(javax.mail.Session) PasswordAuthentication(javax.mail.PasswordAuthentication)

Example 52 with InternetAddress

use of javax.mail.internet.InternetAddress in project Axe by DongyuCai.

the class SimpleMailSender method sendHtmlMail.

/**
	 * 以HTML格式发送邮件
	 * 
	 * @param mailInfo
	 *            待发送的邮件信息
	 */
public static boolean sendHtmlMail(MailSenderInfo mailInfo) {
    // 判断是否需要身份认证
    MyAuthenticator authenticator = null;
    Properties pro = mailInfo.getProperties();
    // 如果需要身份认证,则创建一个密码验证器
    if (mailInfo.isValidate()) {
        authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());
    }
    // 根据邮件会话属性和密码验证器构造一个发送邮件的session
    Session sendMailSession = Session.getDefaultInstance(pro, authenticator);
    try {
        // 根据session创建一个邮件消息
        Message mailMessage = new MimeMessage(sendMailSession);
        // 创建邮件发送者地址
        Address from = new InternetAddress(mailInfo.getFromAddress());
        // 设置邮件消息的发送者
        mailMessage.setFrom(from);
        // 创建邮件的接收者地址,并设置到邮件消息中
        Address to = new InternetAddress(mailInfo.getToAddress());
        // Message.RecipientType.TO属性表示接收者的类型为TO
        mailMessage.setRecipient(Message.RecipientType.TO, to);
        // 设置邮件消息的主题
        mailMessage.setSubject(mailInfo.getSubject());
        // 设置邮件消息发送的时间
        mailMessage.setSentDate(new Date());
        // MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象
        Multipart mainPart = new MimeMultipart();
        // 创建一个包含HTML内容的MimeBodyPart
        BodyPart html = new MimeBodyPart();
        // 设置HTML内容
        html.setContent(mailInfo.getContent(), "text/html; charset=utf-8");
        mainPart.addBodyPart(html);
        // 将MiniMultipart对象设置为邮件内容
        mailMessage.setContent(mainPart);
        // 发送邮件
        Transport.send(mailMessage);
        return true;
    } catch (MessagingException ex) {
        ex.printStackTrace();
    }
    return false;
}
Also used : MimeBodyPart(javax.mail.internet.MimeBodyPart) BodyPart(javax.mail.BodyPart) InternetAddress(javax.mail.internet.InternetAddress) MimeMultipart(javax.mail.internet.MimeMultipart) Multipart(javax.mail.Multipart) Message(javax.mail.Message) MimeMessage(javax.mail.internet.MimeMessage) Address(javax.mail.Address) InternetAddress(javax.mail.internet.InternetAddress) MessagingException(javax.mail.MessagingException) Properties(java.util.Properties) Date(java.util.Date) MimeMessage(javax.mail.internet.MimeMessage) MimeMultipart(javax.mail.internet.MimeMultipart) MimeBodyPart(javax.mail.internet.MimeBodyPart) Session(javax.mail.Session)

Example 53 with InternetAddress

use of javax.mail.internet.InternetAddress in project nhin-d by DirectProject.

the class RecipAndSenderIsNotLocal method match.

/**
	 * {@inheritDoc}
	 */
@SuppressWarnings("unchecked")
@Override
public Collection<MailAddress> match(Mail mail) throws MessagingException {
    String domain = "";
    if (mail.getSender() != null && mail.getSender().getDomain() != null)
        domain = mail.getSender().getDomain().toUpperCase(Locale.getDefault());
    else {
        Address[] senderAddr = mail.getMessage().getFrom();
        if (senderAddr != null && senderAddr.length > 0) {
            domain = NHINDAddress.getHost((InternetAddress) senderAddr[0]).toUpperCase(Locale.getDefault());
        }
    }
    if (!domains.contains(domain)) {
        // this is from a remote domain... this auto qualifies all recipients
        LOGGER.debug("Sender is remote.  Return all recipients as matching");
        return mail.getRecipients();
    }
    // the sender is local, so only return recipients that are not local
    LOGGER.debug("Sender is local.  Matching non local recipients.");
    Collection<MailAddress> matching = new Vector<MailAddress>();
    for (MailAddress addr : (Collection<MailAddress>) mail.getRecipients()) {
        if (!domains.contains(addr.getDomain().toUpperCase(Locale.getDefault()))) {
            LOGGER.debug("Matched recipient " + addr.toString());
            matching.add(addr);
        }
    }
    return matching;
}
Also used : MailAddress(org.apache.mailet.MailAddress) Address(javax.mail.Address) MailAddress(org.apache.mailet.MailAddress) InternetAddress(javax.mail.internet.InternetAddress) NHINDAddress(org.nhindirect.stagent.NHINDAddress) Collection(java.util.Collection) Vector(java.util.Vector)

Example 54 with InternetAddress

use of javax.mail.internet.InternetAddress in project nhin-d by DirectProject.

the class NHINDSecurityAndTrustMailet method getSender.

public static InternetAddress getSender(Mail mail) {
    InternetAddress retVal = null;
    if (mail.getSender() != null)
        retVal = mail.getSender().toInternetAddress();
    else {
        // try to get the sender from the message
        Address[] senderAddr = null;
        try {
            if (mail.getMessage() == null)
                return null;
            senderAddr = mail.getMessage().getFrom();
            if (senderAddr == null || senderAddr.length == 0)
                return null;
        } catch (MessagingException e) {
            return null;
        }
        // not the best way to do this
        retVal = (InternetAddress) senderAddr[0];
    }
    return retVal;
}
Also used : InternetAddress(javax.mail.internet.InternetAddress) Address(javax.mail.Address) MailAddress(org.apache.mailet.MailAddress) InternetAddress(javax.mail.internet.InternetAddress) NHINDAddress(org.nhindirect.stagent.NHINDAddress) MessagingException(javax.mail.MessagingException)

Example 55 with InternetAddress

use of javax.mail.internet.InternetAddress in project nhin-d by DirectProject.

the class DomainPostmasterTest method testSetPostmaster_DefaultConstructor.

public void testSetPostmaster_DefaultConstructor() throws Exception {
    DomainPostmaster postmaster = new DomainPostmaster();
    postmaster.setPostmasters(new InternetAddress("me@domain1"));
    assertEquals("me@domain1", postmaster.getPostmaster().toString());
}
Also used : InternetAddress(javax.mail.internet.InternetAddress)

Aggregations

InternetAddress (javax.mail.internet.InternetAddress)255 MimeMessage (javax.mail.internet.MimeMessage)106 MessagingException (javax.mail.MessagingException)69 Session (javax.mail.Session)49 Properties (java.util.Properties)45 ArrayList (java.util.ArrayList)42 Address (javax.mail.Address)41 Message (javax.mail.Message)40 Date (java.util.Date)38 JavaMailInternetAddress (com.zimbra.common.mime.shim.JavaMailInternetAddress)36 AddressException (javax.mail.internet.AddressException)34 X509Certificate (java.security.cert.X509Certificate)32 MimeBodyPart (javax.mail.internet.MimeBodyPart)30 Test (org.junit.Test)29 IOException (java.io.IOException)26 MimeMultipart (javax.mail.internet.MimeMultipart)26 PolicyExpression (org.nhindirect.policy.PolicyExpression)18 HashMap (java.util.HashMap)17 CertificateResolver (org.nhindirect.stagent.cert.CertificateResolver)17 PolicyResolver (org.nhindirect.stagent.policy.PolicyResolver)17