java 发送qq邮件 附件_(简单)利用JAVA发送QQ邮箱(发送附件)

部分内容来源网络----由于时间急促,就不多做介绍了,所有的注释都在内容

16位STMP口令:获取方式,见下图,获取口令后记得保存更改,否则可能会报535(登录QQ邮箱后点击设置即可出现如下界面)

c7ecf4f4461b?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

登录QQ邮箱

package com.cn;

import java.util.Properties;

import javax.activation.DataHandler;

import javax.activation.FileDataSource;

import javax.mail.Authenticator;

import javax.mail.Message.RecipientType;

import javax.mail.PasswordAuthentication;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeBodyPart;

import javax.mail.internet.MimeMessage;

import javax.mail.internet.MimeMultipart;

import javax.mail.internet.MimeUtility;

public class SendMailText {

public static void main(String[] args) throws Exception {

// 创建Properties 类用于记录邮箱的一些属性

Properties props = new Properties();

// 表示SMTP发送邮件,必须进行身份验证

props.put("mail.smtp.auth", "true");

//此处填写SMTP服务器

props.put("mail.smtp.host", "smtp.qq.com");

//端口号

props.put("mail.smtp.port", "587");

// 此处填写你的账号

props.put("mail.user", "******@qq.com");

// 此处的密码就是前面说的16位STMP口令

props.put("mail.password", "******");

// 构建授权信息,用于进行SMTP进行身份验证

Authenticator authenticator = new Authenticator() {

protected PasswordAuthentication getPasswordAuthentication() {

// 用户名、密码

String userName = props.getProperty("mail.user");

String password = props.getProperty("mail.password");

return new PasswordAuthentication(userName, password);

}

};

// 使用环境属性和授权信息,创建邮件会话

Session mailSession = Session.getInstance(props, authenticator);

// 创建邮件消息

MimeMessage message = new MimeMessage(mailSession);

// 设置发件人

InternetAddress form = new InternetAddress(props.getProperty("mail.user"));

message.setFrom(form);

// 设置收件人的邮箱

InternetAddress to = new InternetAddress("******@qq.com");

message.setRecipient(RecipientType.TO, to);

// 设置邮件标题

// 创建附件“附件节点”

MimeBodyPart attachment = new MimeBodyPart();

DataHandler dh2 = new DataHandler(new FileDataSource("C:\\Users\\admin\\Desktop\\pb.pptx")); // 读取本地文件

attachment.setDataHandler(dh2); // 将附件数据添加到“节点”

attachment.setFileName(MimeUtility.encodeText(dh2.getName())); // 设置附件的文件名(需要编码)

//设置整个邮件的关系(将最终的混合“节点”作为邮件的内容添加到邮件对象)

MimeMultipart mm = new MimeMultipart();

mm.addBodyPart(attachment);

mm.setSubType("mixed"); // 混合关系

message.setSubject("商业计划书");

// 设置邮件的内容体

message.setContent("商业计划书", "text/html;charset=UTF-8");

message.setContent(mm);

//保存设置

message.saveChanges();

// 最后当然就是发送邮件啦

Transport.send(message);

}

}

c7ecf4f4461b?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

成功发送接收

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值