java发送带附件的邮件的代码

http://www.mkyong.com/java/javamail-api-sending-email-via-gmail-smtp-example/

http://stackoverflow.com/questions/16117365/sending-mail-attachment-using-java

http://examples.javacodegeeks.com/enterprise-java/mail/send-file-via-mail-using-filedatasource-example/

参考上面三个例子,写的一段用java发送带正文和附件的邮件的代码。需要mail.jar这个包。


import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

public class SendEmail {
	public static void main(String[] args){
		sendEmail(<recipientEmail>, <emailSubject>, <EmailContent>);
	}
	
	public static void sendEmail(String reciepient, String subject, String content){
		Properties props = new Properties();
		props.put("mail.smtp.host", "smtp.gmail.com");
		props.put("mail.smtp.socketFactory.port", "465");
		props.put("mail.smtp.socketFactory.class",
				"javax.net.ssl.SSLSocketFactory");
		props.put("mail.smtp.auth", "true");
		props.put("mail.smtp.port", "465");
 
		javax.mail.Session session = javax.mail.Session.getDefaultInstance(props,
			new javax.mail.Authenticator() {
				protected PasswordAuthentication getPasswordAuthentication() {
					return new PasswordAuthentication("username","password");
				}
			}); 
		try { 
			Message message = new MimeMessage(session);
			message.setFrom(new InternetAddress("<from@server.com>"));
			message.setRecipients(Message.RecipientType.TO,
					InternetAddress.parse(reciepient));
			message.setSubject(subject);
			String text = content;
		
	        //set text of the email content
		MimeBodyPart messageTextPart = new MimeBodyPart();
		messageTextPart.setText(text);
                //Attach a file	
		MimeBodyPart messageBodyPart = new MimeBodyPart();
	        Multipart multipart = new MimeMultipart();
	        messageBodyPart = new MimeBodyPart();
	        String file = "<filepath>";
	        String fileName = "<filename>";
	        DataSource source = new FileDataSource(file);
	        messageBodyPart.setDataHandler(new DataHandler(source));
	        messageBodyPart.setFileName(fileName);
	        multipart.addBodyPart(messageBodyPart);
                multipart.addBodyPart(messageTextPart);
	        message.setContent(multipart);
			
			
			Transport.send(message); 
		} catch (MessagingException e) {
			throw new RuntimeException(e);
		}
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值