java实现邮件发送

需依赖第三方jar包

javamail项目源码←点击

这里下载

java实现邮件发送_第1张图片

方法实现

	public boolean sendMail() {
		// 构造mail session
		Properties props = System.getProperties();
		props.put("mail.smtp.host", host);
		props.put("mail.smtp.auth", "true");
		Session session = Session.getDefaultInstance(props,
				new Authenticator() {
					public PasswordAuthentication getPasswordAuthentication() {
						return new PasswordAuthentication(username, password);
					}
				});
		try {
			// 构造MimeMessage并设定基本的值,创建消息对象
			MimeMessage msg = new MimeMessage(session);
			// 设置消息内容
			msg.setFrom(new InternetAddress(from));
			//System.out.println(from);
			// 把邮件地址映射到Internet地址上
			InternetAddress[] address = { new InternetAddress(to) };
			/**
			 * setRecipient(Message.RecipientType type, Address
			 * address),用于设置邮件的接收者。
* 有两个参数,第一个参数是接收者的类型,第二个参数是接收者。
* 接收者类型可以是Message.RecipientType .TO,Message * .RecipientType.CC和Message.RecipientType.BCC,TO表示主要接收人,CC表示抄送人 * ,BCC表示秘密抄送人。接收者与发送者一样,通常使用InternetAddress的对象。 */ msg.setRecipients(Message.RecipientType.TO, address); if(cc!=null && !cc.equals("")) { cc = cc.replaceAll(";",","); InternetAddress[] caddress = new InternetAddress().parse(cc); msg.addRecipients(Message.RecipientType.CC, caddress); } // 设置邮件的标题 //subject = transferChinese(subject); msg.setSubject(subject); // 构造Multipart Multipart mp = new MimeMultipart(); // 向Multipart添加正文 MimeBodyPart mbpContent = new MimeBodyPart(); // 设置邮件内容(纯文本格式) // mbpContent.setText(content); // 设置邮件内容(HTML格式) mbpContent.setContent(content, "text/html;charset=utf-8"); // 向MimeMessage添加(Multipart代表正文) mp.addBodyPart(mbpContent); if(filename!=""){ //调用生成附件方法 MimeBodyPart attachment01 = createAttachment(filename); mp.addBodyPart(attachment01); } // 向Multipart添加MimeMessage msg.setContent(mp); // 设置邮件发送的时间。 msg.setSentDate(new Date()); // 发送邮件 Transport.send(msg); } catch (Exception e) { logger.warn(e.getMessage()); e.printStackTrace(); return false; } return true; }

你可能感兴趣的:(java实现邮件发送)