javax.mail.internet.MimeMessage#setSentDate ( )源码实例Demo

下面列出了javax.mail.internet.MimeMessage#setSentDate ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: rapidminer-studio   文件: MailSenderSMTP.java
@Override
public void sendEmail(String address, String subject, String content, Map<String, String> headers,
					  UnaryOperator<String> properties) throws Exception {
	Session session = MailUtilities.makeSession(properties);
	if (session == null) {
		LogService.getRoot().log(Level.WARNING, SESSION_CREATION_FAILURE, address);
	}
	MimeMessage msg = new MimeMessage(session);
	msg.setRecipients(Message.RecipientType.TO, address);
	msg.setFrom();
	msg.setSubject(subject, "UTF-8");
	msg.setSentDate(new Date());
	msg.setText(content, "UTF-8");

	if (headers != null) {
		for (Entry<String, String> header : headers.entrySet()) {
			msg.setHeader(header.getKey(), header.getValue());
		}
	}
	Transport.send(msg);
}
 
源代码2 项目: javamail   文件: MainAppExample.java
public static void main(String[] args) throws MessagingException {
    Properties javaMailConfiguration = new Properties();
    javaMailConfiguration.put("mail.transport.protocol", "filetxt");
    javaMailConfiguration.put("mail.files.path", "target/messages");
    Session session = Session.getDefaultInstance(javaMailConfiguration);

    MimeMessage message = new MimeMessage(session);
    message.setFrom(new InternetAddress("[email protected]"));
    InternetAddress[] address = { new InternetAddress("[email protected]") };
    message.setRecipients(Message.RecipientType.TO, address);
    Date now = new Date();
    message.setSubject("JavaMail test at " + now);
    message.setSentDate(now);
    MimeBodyPart textPart = new MimeBodyPart();
    textPart.setText("Body text version", "UTF-8");
    MimeBodyPart htmlPart = new MimeBodyPart();
    htmlPart.setContent("<p>Body's text <strong>(html)</strong></p><p>Body html version</p>", "text/html; charset=UTF-8");
    Multipart multiPart = new MimeMultipart("alternative");
    multiPart.addBodyPart(textPart);
    multiPart.addBodyPart(htmlPart);
    message.setContent(multiPart);
    session.getTransport().sendMessage(message, address);
}
 
源代码3 项目: BootNettyRpc   文件: SmtpExecutor.java
public void send(String from, String to, String cc, String bcc, String subject, String text, boolean htmlStyle, String encoding) throws Exception {
    MimeMessage message = new MimeMessage(session);

    message.setSentDate(new Date());
    message.setFrom(new InternetAddress(from));
    message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
    if ( cc != null && cc.length() != 0) {
        message.setRecipients(Message.RecipientType.CC, InternetAddress.parse(cc));
    }
    if (bcc != null && bcc.length() != 0) {
        message.setRecipients(Message.RecipientType.BCC, InternetAddress.parse(bcc));
    }
    message.setSubject(subject);
    if (htmlStyle) {
        message.setContent(text, "text/html;charset=" + encoding);
    } else {
        message.setText(text);
    }

    Transport.send(message);
}
 
private void doSend(MimeMessage mimeMessage, Address[] recipients) throws MessagingException {

    try {
      if (mimeMessage.getSentDate() == null) {
        mimeMessage.setSentDate(new Date());
      }
      String messageId = mimeMessage.getMessageID();
      mimeMessage.saveChanges();
      if (messageId != null) {
        // Preserve explicitly specified message id...
        mimeMessage.setHeader(HEADER_MESSAGE_ID, messageId);
      }
      delegate.sendMessage(mimeMessage, recipients);
    } catch (Exception e) {
      // TODO: An exception can be sent because the recipient is invalid, ie. not because the connection is invalid
      // TODO: Invalidate based on the MessagingException subclass / cause: IOException
      if (invalidateConnectionOnException) {
        invalidate();
      }
      throw e;
    }
  }
 
源代码5 项目: webcurator   文件: MailServerImpl.java
public void sendHTML(Mailable email) throws MessagingException {
    Session mailSession = Session.getInstance(this.mailConfig, null);
    MimeMessage message = new MimeMessage(mailSession);
    MimeMultipart multipart = new MimeMultipart("alternative");
    BodyPart bp = new MimeBodyPart();
    bp.setContent(email.getMessage(), "text/plain; charset=UTF-8");
    BodyPart bp2 = new MimeBodyPart();
    bp2.setContent(email.getMessage(), "text/html; charset=UTF-8");
    
    multipart.addBodyPart(bp2);
    multipart.addBodyPart(bp);
    message.setContent(multipart);
    message.setSentDate(new java.util.Date());
    message.setFrom(new InternetAddress(email.getSender()));
    message.setSubject(email.getSubject());
    //FIXME if more than one recipient break it appart before setting the recipient field
    message.addRecipient(Message.RecipientType.TO, new InternetAddress(email.getRecipients()));
    Transport.send(message);
}
 
源代码6 项目: Lottery   文件: EmailSendTool.java
/**
 * 此段代码用来发送普通电子邮件
 * 
 * @throws MessagingException
 * @throws UnsupportedEncodingException
 * @throws UnsupportedEncodingException
 */
public void send() throws MessagingException, UnsupportedEncodingException {
	Properties props = new Properties();
	Authenticator auth = new Email_Autherticator(); // 进行邮件服务器用户认证
	props.put("mail.smtp.host", host);
	props.put("mail.smtp.auth", "true");
	Session session = Session.getDefaultInstance(props, auth);
	// 设置session,和邮件服务器进行通讯。
	MimeMessage message = new MimeMessage(session);
	// message.setContent("foobar, "application/x-foobar"); // 设置邮件格式
	message.setSubject(mail_subject); // 设置邮件主题
	message.setText(mail_body); // 设置邮件正文
	message.setHeader(mail_head_name, mail_head_value); // 设置邮件标题

	message.setSentDate(new Date()); // 设置邮件发送日期
	Address address = new InternetAddress(mail_from, personalName);
	message.setFrom(address); // 设置邮件发送者的地址
	Address toAddress = new InternetAddress(mail_to); // 设置邮件接收方的地址
	message.addRecipient(Message.RecipientType.TO, toAddress);
	Transport.send(message); // 发送邮件
}
 
源代码7 项目: journaldev   文件: EmailUtil.java
/**
 * Utility method to send simple HTML email
 * @param session
 * @param toEmail
 * @param subject
 * @param body
 */
public static void sendEmail(Session session, String toEmail, String subject, String body){
	try
    {
      MimeMessage msg = new MimeMessage(session);
      //set message headers
      msg.addHeader("Content-type", "text/HTML; charset=UTF-8");
      msg.addHeader("format", "flowed");
      msg.addHeader("Content-Transfer-Encoding", "8bit");

      msg.setFrom(new InternetAddress("[email protected]", "NoReply-JD"));

      msg.setReplyTo(InternetAddress.parse("[email protected]", false));

      msg.setSubject(subject, "UTF-8");

      msg.setText(body, "UTF-8");

      msg.setSentDate(new Date());

      msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(toEmail, false));
      System.out.println("Message is ready");
   	  Transport.send(msg);  

      System.out.println("EMail Sent Successfully!!");
    }
    catch (Exception e) {
      e.printStackTrace();
    }
}
 
@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("[email protected]"));
	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));
}
 
源代码9 项目: logging-log4j2   文件: SmtpManager.java
protected void sendMultipartMessage(final MimeMessage msg, final MimeMultipart mp) throws MessagingException {
    synchronized (msg) {
        msg.setContent(mp);
        msg.setSentDate(new Date());
        Transport.send(msg);
    }
}
 
源代码10 项目: vocefiscal-android   文件: GMailSender.java
public boolean send() throws Exception 
{ 
  Properties props = setProperties(); 

  if(!user.equals("") && !pass.equals("") && to.length > 0 && !from.equals("") && !subject.equals("") && !body.equals("")) 
  { 
    Session session = Session.getInstance(props, this); 

    MimeMessage msg = new MimeMessage(session); 

    msg.setFrom(new InternetAddress(from)); 

    InternetAddress[] addressTo = new InternetAddress[to.length]; 
    for (int i = 0; i < to.length; i++) 
    { 
      addressTo[i] = new InternetAddress(to[i]); 
    } 
      msg.setRecipients(MimeMessage.RecipientType.TO, addressTo); 

    msg.setSubject(subject); 
    msg.setSentDate(new Date()); 

    // setup message body 
    BodyPart messageBodyPart = new MimeBodyPart(); 
    messageBodyPart.setText(body); 
    multipart.addBodyPart(messageBodyPart); 

    // Put parts in message 
    msg.setContent(multipart); 

    // send email 
    Transport.send(msg); 

    return true; 
  } else 
  { 
    return false; 
  } 
}
 
源代码11 项目: greenmail   文件: ImapServerTest.java
/**
 * Tests simple send and retrieve, including umlauts.
 *
 * @throws Exception on error.
 */
@Test
public void testRetreiveSimple() throws Exception {
    assertNotNull(greenMail.getImap());
    final String subject = GreenMailUtil.random() + UMLAUTS;
    final String body = GreenMailUtil.random()
            + "\r\n" + " öäü \u00c4 \u00e4"
            + "\r\n" + GreenMailUtil.random();
    final String to = "[email protected]";
    MimeMessage mimeMessage = new MimeMessage(greenMail.getSmtp().createSession());
    mimeMessage.setSentDate(new Date());
    mimeMessage.setFrom("[email protected]");
    mimeMessage.setRecipients(Message.RecipientType.TO, to);

    mimeMessage.setSubject(subject, "UTF-8"); // Need to explicitly set encoding
    mimeMessage.setText(body, "UTF-8");
    Transport.send(mimeMessage);

    greenMail.waitForIncomingEmail(5000, 1);

    try (Retriever retriever = new Retriever(greenMail.getImap())) {
        Message[] messages = retriever.getMessages(to);
        assertEquals(1, messages.length);
        assertEquals(subject, messages[0].getSubject());
        assertEquals(body, ((String) messages[0].getContent()).trim());
    }
}
 
@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("[email protected]"));
	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));
}
 
源代码13 项目: AccelerationAlert   文件: Mail.java
public boolean send() throws Exception
{
	Properties props = _setProperties();

	if (!_user.equals("") && !_pass.equals("") && _to.length > 0
			&& !_from.equals("") && !_subject.equals("")
			&& !_body.equals(""))
	{
		Session session = Session.getInstance(props, this);

		MimeMessage msg = new MimeMessage(session);

		msg.setFrom(new InternetAddress(_from));

		InternetAddress[] addressTo = new InternetAddress[_to.length];
		for (int i = 0; i < _to.length; i++)
		{
			addressTo[i] = new InternetAddress(_to[i]);
		}
		msg.setRecipients(MimeMessage.RecipientType.TO, addressTo);

		msg.setSubject(_subject);
		msg.setSentDate(new Date());

		// setup message body
		BodyPart messageBodyPart = new MimeBodyPart();
		messageBodyPart.setText(_body);
		_multipart.addBodyPart(messageBodyPart);

		// Put parts in message
		msg.setContent(_multipart);

		// send email
		Transport.send(msg);

		return true;
	}
	else
	{
		return false;
	}
}
 
源代码14 项目: OA   文件: SendMail.java
public boolean send() {
		// 创建邮件Session所需的Properties对象.API建议使用set而不是put(putall).
		Properties props = new Properties();
		props.setProperty("mail.smtp.host", smtpServer);
		props.setProperty("mail.smtp.auth", "true");
		props.put("mail.smtp.ssl.enable", "false");
		props.put("mail.debug", "true");
		// 创建Session对象,代表JavaMail中的一次邮件会话.
		// Authenticator==>Java mail的身份验证,如QQ邮箱是需要验证的.所以需要用户名,密码.
		// PasswordAuthentication==>系统的密码验证.内部类获取,或者干脆写个静态类也可以.
		Session session = Session.getDefaultInstance(props,
				new Authenticator() {
					public PasswordAuthentication getPasswordAuthentication() {
						return new PasswordAuthentication(userName, password);
					}
				});

		try {
			// 构造MimeMessage并设置相关属性值,MimeMessage就是实际的电子邮件对象.
			MimeMessage msg = new MimeMessage(session);
			// 设置发件人
			msg.setFrom(new InternetAddress(from));
			// 设置收件人,为数组,可输入多个地址.
			InternetAddress[] addresses = { new InternetAddress(to) };
			// Message.RecipientType==>TO(主要接收人),CC(抄送),BCC(密件抄送)
			msg.setRecipients(Message.RecipientType.TO, addresses);
			msg.setSentDate(new Date());
			// 设置邮件主题,如果不是UTF-8就要转换下.MimeUtility.encodeText(subject,"gb2312","B"));
//			 subject=translateChinese(subject);
			msg.setSubject(MimeUtility.encodeText(subject,"utf8","B"));
			// =====================正文部分===========
			// 构造Multipart容器
			Multipart mp = new MimeMultipart();
			// =====================正文文字部分===========
			// 向Multipart添加正文
			MimeBodyPart mbpContent = new MimeBodyPart();
			
			mbpContent.setContent(content,"text/plain;charset=gb2312");
			// 将BodyPart添加到MultiPart容器中
			mp.addBodyPart(mbpContent);

			// =====================正文附件部分===========
			// 向MulitPart添加附件,遍历附件列表,将所有文件添加到邮件消息里
			if (attachments != null) {
				for (String efile : attachments) {
					MimeBodyPart mbpFile = new MimeBodyPart();
					// 以文件名创建FileDataSource对象
					FileDataSource fds = new FileDataSource(efile);
					// 处理附件
					mbpFile.setDataHandler(new DataHandler(fds));
					mbpFile.setFileName(fds.getName());
					// 将BodyPart添加到Multipart容器中
					mp.addBodyPart(mbpFile);
				}
				attachments.clear();
			}
			
			// 向MimeMessage添加Multipart
			msg.setContent(mp);
			msg.setSentDate(new Date());
			// 发送邮件,使用如下方法!
			Transport.send(msg);
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		}
		return true;
	}
 
源代码15 项目: davmail   文件: EwsExchangeSession.java
/**
 * Get item content.
 *
 * @param itemId EWS item id
 * @return item content as byte array
 * @throws IOException on error
 */
protected byte[] getContent(ItemId itemId) throws IOException {
    GetItemMethod getItemMethod = new GetItemMethod(BaseShape.ID_ONLY, itemId, true);
    byte[] mimeContent = null;
    try {
        executeMethod(getItemMethod);
        mimeContent = getItemMethod.getMimeContent();
    } catch (EWSException e) {
        LOGGER.warn("GetItem with MimeContent failed: " + e.getMessage());
    }
    if (getItemMethod.getStatusCode() == HttpStatus.SC_NOT_FOUND) {
        throw new HttpNotFoundException("Item " + itemId + " not found");
    }
    if (mimeContent == null) {
        LOGGER.warn("MimeContent not available, trying to rebuild from properties");
        try {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            getItemMethod = new GetItemMethod(BaseShape.ID_ONLY, itemId, false);
            getItemMethod.addAdditionalProperty(Field.get("contentclass"));
            getItemMethod.addAdditionalProperty(Field.get("message-id"));
            getItemMethod.addAdditionalProperty(Field.get("from"));
            getItemMethod.addAdditionalProperty(Field.get("to"));
            getItemMethod.addAdditionalProperty(Field.get("cc"));
            getItemMethod.addAdditionalProperty(Field.get("subject"));
            getItemMethod.addAdditionalProperty(Field.get("date"));
            getItemMethod.addAdditionalProperty(Field.get("body"));
            executeMethod(getItemMethod);
            EWSMethod.Item item = getItemMethod.getResponseItem();

            if (item == null) {
                throw new HttpNotFoundException("Item " + itemId + " not found");
            }

            MimeMessage mimeMessage = new MimeMessage((Session) null);
            mimeMessage.addHeader("Content-class", item.get(Field.get("contentclass").getResponseName()));
            mimeMessage.setSentDate(parseDateFromExchange(item.get(Field.get("date").getResponseName())));
            mimeMessage.addHeader("From", item.get(Field.get("from").getResponseName()));
            mimeMessage.addHeader("To", item.get(Field.get("to").getResponseName()));
            mimeMessage.addHeader("Cc", item.get(Field.get("cc").getResponseName()));
            mimeMessage.setSubject(item.get(Field.get("subject").getResponseName()));
            String propertyValue = item.get(Field.get("body").getResponseName());
            if (propertyValue == null) {
                propertyValue = "";
            }
            mimeMessage.setContent(propertyValue, "text/html; charset=UTF-8");

            mimeMessage.writeTo(baos);
            if (LOGGER.isDebugEnabled()) {
                LOGGER.debug("Rebuilt message content: " + new String(baos.toByteArray(), StandardCharsets.UTF_8));
            }
            mimeContent = baos.toByteArray();

        } catch (IOException | MessagingException e2) {
            LOGGER.warn(e2);
        }
        if (mimeContent == null) {
            throw new IOException("GetItem returned null MimeContent");
        }
    }
    return mimeContent;
}
 
protected void createInitialIMAPTestdata(final Properties props, final String user, final String password, final int count,
        final boolean deleteall) throws MessagingException {
    final Session session = Session.getInstance(props);
    final Store store = session.getStore();
    store.connect(user, password);
    checkStoreForTestConnection(store);
    final Folder root = store.getDefaultFolder();
    final Folder testroot = root.getFolder("ES-IMAP-RIVER-TESTS");
    final Folder testrootl2 = testroot.getFolder("Level(2!");

    if (deleteall) {

        deleteMailsFromUserMailbox(props, "INBOX", 0, -1, user, password);

        if (testroot.exists()) {
            testroot.delete(true);
        }

        final Folder testrootenamed = root.getFolder("renamed_from_ES-IMAP-RIVER-TESTS");
        if (testrootenamed.exists()) {
            testrootenamed.delete(true);
        }

    }

    if (!testroot.exists()) {

        testroot.create(Folder.HOLDS_FOLDERS & Folder.HOLDS_MESSAGES);
        testroot.open(Folder.READ_WRITE);

        testrootl2.create(Folder.HOLDS_FOLDERS & Folder.HOLDS_MESSAGES);
        testrootl2.open(Folder.READ_WRITE);

    }

    final Folder inbox = root.getFolder("INBOX");
    inbox.open(Folder.READ_WRITE);

    final Message[] msgs = new Message[count];

    for (int i = 0; i < count; i++) {
        final MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress(EMAIL_TO));
        message.addRecipient(Message.RecipientType.TO, new InternetAddress(EMAIL_USER_ADDRESS));
        message.setSubject(EMAIL_SUBJECT + "::" + i);
        message.setText(EMAIL_TEXT + "::" + SID++);
        message.setSentDate(new Date());
        msgs[i] = message;

    }

    inbox.appendMessages(msgs);
    testroot.appendMessages(msgs);
    testrootl2.appendMessages(msgs);

    IMAPUtils.close(inbox);
    IMAPUtils.close(testrootl2);
    IMAPUtils.close(testroot);
    IMAPUtils.close(store);

}
 
源代码17 项目: xunxian   文件: SendMail.java
/**
 * 
 * @param targetMail  发送至的账号
 * @param title  发送的标题
 * @param content  发送的内容
 */
public void sendMail(String targetMail,String title,String content) {  
  try {  
  properties = new Properties();  
  //设置邮件服务器  
  properties.put("mail.smtp.host", "smtp.163.com");  
  //验证  
  properties.put("mail.smtp.auth", "true");  
  //根据属性新建一个邮件会话  
  mailSession = Session.getInstance(properties,  
  new Authenticator() {  
  public PasswordAuthentication getPasswordAuthentication() {  
  return new PasswordAuthentication("[email protected]",  
  "cccccc");  
  }  
  });  
  mailSession.setDebug(true);  
  //建立消息对象  
  mailMessage = new MimeMessage(mailSession);  
  //发件人  
  mailMessage.setFrom(new InternetAddress("[email protected]"));  
  //收件人  
  mailMessage.setRecipient(MimeMessage.RecipientType.TO,  
  new InternetAddress(targetMail));  
  //主题  
  mailMessage.setSubject(title);  
  //内容  
  mailMessage.setText(content);  
  //发信时间  
  mailMessage.setSentDate(new Date());  
  //存储信息  
  mailMessage.saveChanges();  
  //  
  trans = mailSession.getTransport("smtp");  
  //发送  
  trans.send(mailMessage);  
  } catch (Exception e) {  
	  new File().log("邮件发送失败异常捕获:"+e.getMessage());
  e.printStackTrace();  
  } finally {  
  }  
  }
 
源代码18 项目: greenmail   文件: ImapSearchTest.java
/**
 * Create the two messages with different recipients, etc. for testing and add them to the folder.
 *
 * @param session Session to set on the messages
 * @param folder  Folder to add to
 * @param flags   Flags to set on both messages
 */
private void storeSearchTestMessages(Session session, MailFolder folder, Flags flags) throws Exception {
    MimeMessage message0 = new MimeMessage(session);
    message0.setSubject("#0 test0Search");
    message0.setText("content#0");
    setRecipients(message0, Message.RecipientType.TO, "to", 1, 2);
    setRecipients(message0, Message.RecipientType.CC, "cc", 1, 2);
    setRecipients(message0, Message.RecipientType.BCC, "bcc", 1, 2);
    message0.setFrom(new InternetAddress("[email protected]"));
    message0.setFlag(Flags.Flag.ANSWERED, true);
    message0.setFlags(flags, true);
    folder.store(message0);

    MimeMessage message1 = new MimeMessage(session);
    message1.setSubject("#1 test0Search test1Search \u00c4\u00e4\u03A0", "UTF-8");
    message1.setText("content#1 \u00c4\u00e4\u03A0", "UTF-8");
    setRecipients(message1, Message.RecipientType.TO, "to", 1, 3);
    setRecipients(message1, Message.RecipientType.CC, "cc", 1, 3);
    setRecipients(message1, Message.RecipientType.BCC, "bcc", 1, 3);
    message1.setFrom(new InternetAddress("[email protected]"));
    message1.setFlag(Flags.Flag.ANSWERED, false);
    folder.store(message1);

    MimeMessage message2 = new MimeMessage(session);
    message2.setSubject("#2 OR search : foo");
    message2.setText("content#2 foo");
    setRecipients(message2, Message.RecipientType.TO, "to", 3);
    setRecipients(message2, Message.RecipientType.CC, "cc", 4);
    setRecipients(message2, Message.RecipientType.BCC, "bcc", 5);
    message2.setFrom(new InternetAddress("[email protected]"));
    message2.setFlag(Flags.Flag.ANSWERED, false);
    message2.setFlags(flags, false);
    folder.store(message2);

    MimeMessage message3 = new MimeMessage(session);
    message3.setSubject("#3 OR search : bar");
    message3.setText("content#3 bar");
    setRecipients(message3, Message.RecipientType.TO, "to", 3);
    setRecipients(message3, Message.RecipientType.CC, "cc", 4);
    setRecipients(message3, Message.RecipientType.BCC, "bcc", 5);
    message3.setFrom(new InternetAddress("[email protected]"));
    message3.setFlag(Flags.Flag.ANSWERED, false);
    message3.setFlags(flags, false);
    folder.store(message3);

    MimeMessage message4 = new MimeMessage(session);
    message4.setSubject("#4 with received date");
    message4.setText("content#4 received date");
    folder.appendMessage(message4, new Flags(), getSampleDate());

    MimeMessage message5 = new MimeMessage(session);
    message5.setSubject("#5 with sent date");
    message5.setText("content#5 sent date");
    message5.setSentDate(getSampleDate());
    folder.store(message5);
}
 
源代码19 项目: Login-System-SSM   文件: SignAdminAction.java
@Override
	protected ModelAndView handle(HttpServletRequest request,
			HttpServletResponse response, Object object, BindException exception)
			throws Exception {
		Admin admin = (Admin) object;  //将数据封装起来
System.out.println("表单提交过来时的数据是:"+admin.toString());

			if (adminService.addAdmin(admin)) {    //调用该方法,将数据持久到数据库中,如果持久化成功,则发送邮件给当前的注册用户
				try {
					String host = "smtp.qq.com"; // 邮件服务器
					String from = "[email protected]"; // 发送邮件的QQ
					String authcode = "fgoobvssrkuibjhe"; // 对于QQ的个人邮箱而言,密码使用的是客户端的授权码,而不是用户的邮箱密码
					Properties props = System.getProperties();
					props.put("mail.smtp.host", host);
					props.setProperty("mail.transport.protocol", "smtp"); // 发送邮件协议名称
					props.put("mail.smtp.auth", "true"); // 开启授权
					props.put("mail.smtp.user", from);
					props.put("mail.smtp.password", authcode);
					props.put("mail.smtp.port", "587"); // smtp邮件服务器的端口号,必须是587,465端口调试时失败
					props.setProperty("mail.smtp.ssl.enable", "true");

					Session session = Session.getDefaultInstance(props,
							new GMailAuthenticator("[email protected]",
									"fgoobvssrkuibjhe"));

					props.put("mail.debug", "true");

					MimeMessage message = new MimeMessage(session);
					Address fromAddress = new InternetAddress(from);
					Address toAddress = new InternetAddress(admin.getEmail());

					message.setFrom(fromAddress);
					message.setRecipient(Message.RecipientType.TO, toAddress);

					message.setSubject("注册成功确认邮件");
					message.setSentDate(new Date());
					//发送的链接包括其写入到数据库中的UUID,也就是链接localhost:8080/Login_Sys/ActivateServlet和UUID的拼接,#连接两个字符串
					//获取UUID
System.out.println(adminService.getUUID(admin));
					message.setContent("<h1>恭喜你注册成功,请点击下面的连接激活账户</h1><h3><a href='http://localhost:8080/Login_Sys_Spring_SpringMVC_c3p0/Activate.action?code="+adminService.getUUID(admin)+"'>http://localhost:8080/Login_Sys_Spring_SpringMVC_c3p0/Activate</a></h3>","text/html;charset=utf-8");
					Transport transport = session.getTransport();
					transport.connect(host, from, authcode);
					message.saveChanges();
					Transport.send(message);
					transport.close();

				} catch (Exception ex) {
					throw new RuntimeException(ex);
				}

			} 
	    
//封装一个ModelAndView对象,提供转发视图的功能
	    ModelAndView modelAndView = new ModelAndView();
	    modelAndView.addObject("message", "增加管理员成功");
	    modelAndView.setViewName("sign_success");      //成功之后跳转到该界面,采用逻辑视图,必须要配置视图解析器
		return modelAndView;  //该方法一定要返回modelAndView
	}
 
源代码20 项目: entando-components   文件: MailManager.java
/**
 * Prepare a MimeMessage complete of sender, recipient addresses, subject
 * and current date but lacking in the message text content.
 * @param session The session object.
 * @param subject The e-mail subject.
 * @param recipientsTo The e-mail main destination addresses.
 * @param recipientsCc The e-mail 'carbon-copy' destination addresses.
 * @param recipientsBcc The e-mail 'blind carbon-copy' destination addresses.
 * @param senderCode The sender code, as configured in the service configuration.
 * @return A mime message without message text content.
 * @throws AddressException In case of non-valid e-mail addresses.
 * @throws MessagingException In case of errors preparing the mail message.
 */
protected MimeMessage prepareVoidMimeMessage(Session session, String subject, String[] recipientsTo,
		String[] recipientsCc, String[] recipientsBcc, String senderCode) throws AddressException, MessagingException {
	MimeMessage msg = new MimeMessage(session);
	msg.setFrom(new InternetAddress(this.getConfig().getSender(senderCode)));
	msg.setSubject(subject);
	msg.setSentDate(new Date());
	this.addRecipients(msg, Message.RecipientType.TO, recipientsTo);
	this.addRecipients(msg, Message.RecipientType.CC, recipientsCc);
	this.addRecipients(msg, Message.RecipientType.BCC, recipientsBcc);
	msg.saveChanges();
	return msg;
}