JAVA Email

POP3

pop3即邮局协议的第三个版本,它规定怎样将个人计算机连接到lnternet的邮件服务器和下载电子邮件的电子协议,它是因特网电子邮件的第一个离线协议标准,pop3允许用户从服务器上把邮件存储到本地主机上,同时删除保存邮件服务器上的邮件,pop3服务器遵循pop3协议的接收邮件服务器,用来接收电子邮件

SMTP

smtp即简单邮件传输协议,它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式,smtp协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地,smtp服务器就是遵循SMTP协议的发送邮件服务器,smtp认证必须提供账户名和密码,这样是为了避免用户收到垃圾邮件的侵扰

IMAP

imap是交互式邮件存取协议,它跟pop3类似邮件访问标准协议之一,不一样的是,imap开启后在邮件客户端收取到的邮件仍然保留在服务器上,同时在客户端上的操作都会反馈到服务器上。

126邮件服务器

011

 常用邮件服务商的SMTP信息

准备好smtp登录信息后,我们还需要把javamail相关的依赖jar包添加到当前项目

 发送端



public class Morningonesix {
	public static void main(String[] args) {
		
		//SMTP服务器地址
		String smtp = "smtp.126.com";
		
		//邮箱账号和密码
		String userName = "自己发端的账号";
		String passWord = "自己的密码";
		
		//SMTP服务器的连接信息
		Properties props= new Properties();
		props.put("mail.smtp.host", smtp);//SMTP主机名
		props.put("mail.smtp.port", "25");//主机端口号
		props.put("mail.smtp.auth", "true");//是否需要用户认证
		props.put("mail.smtp.starttls.enable", "true");//启用TLS加密
		
		
		//创建Session
		//参数1:SMTP服务器的连接信息
		//参数2:用户认证对象(Authenticator接口的匿名实现类)
		Session session = Session.getInstance(props,new Authenticator() {
			@Override
			protected PasswordAuthentication getPasswordAuthentication() {
				return new PasswordAuthentication(userName, passWord);
			}
			
			
		});
		//开启调试模式
		session.setDebug(true);
		System.out.println(session);
	}

}

 添加附件


public class Morningonesix2 {
	public static void main(String[] args) throws IOException {
		try {
			//1创建session会话
			Session session = Morningonesix1.creatsession();
			
			//2创建邮件对象(Message抽象类的子类对象)
			MimeMessage msg = new MimeMessage(session);//传入session
			msg.setFrom(new InternetAddress("发件人的账号"));//发件人
			msg.setRecipient(RecipientType.TO,new InternetAddress("收件人的账号"));//收件人
			msg.setSubject("这是一份测试邮件","utf-8");//标题
			//msg.setText("爱你独身走<b>暗巷</b>","text/html;charset=utf-8");//正文
			
			//邮件内容“复合对象”
			Multipart multipart = new MimeMultipart();
			
			//正文
			BodyPart  textPart = new MimeBodyPart();
			//参数一 : 正文内容
			//参数二:内容类型,字符编码集
			textPart.setContent("爱你独身走<b>暗巷</b>","text/html;charset=utf-8");
			
			//附件
			BodyPart imagePart = new MimeBodyPart();
			imagePart.setFileName("jok.jpg");//设置附加文件的显示名称
			//数据处理对象(读取附件文件从本地磁盘进行更改)
			imagePart.setDataHandler(
					new DataHandler(
							new ByteArrayDataSource(
									Files.readAllBytes(Paths.get("F:\\phone\\192-168-254-161.jpg")),
									"application/octet-stream"
									)));
			//添加至邮件内容
			multipart.addBodyPart(textPart);//添加正文
			multipart.addBodyPart(imagePart);//添加附件
			
			//设置附件内容
			msg.setContent(multipart);
		
			//3发送邮件
			Transport.send(msg);
		} catch (MessagingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值