JavaWeb实现简单用户发送邮件

网友投稿 241 2022-10-05


JavaWeb实现简单用户发送邮件

在实现用户发送邮件之前,我们先对电子邮箱的基本概念做一些了解。

一、电子邮件

1. 邮件服务器

1.要在 Internet 上提供电子邮件功能,必须有专门的电子邮件服务器。

例如:现在 Internet 很多 提供邮件服务的厂商:sina、sohu、163 等等他们都有自己的邮件服务器。

2.这些服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投 递到邮件接收者的电子邮箱中。

3.邮件服务器,按照提供的服务类型,可以分为发送邮件的服务器我接收邮件的服务器。

2. 电子邮箱

电子邮箱(E-mail 地址)的获得需要在邮件服务器上进行申请 ,确切地说,电子邮箱其实 就是用户在邮件服务器上申请的一个帐户。用户在邮件服务器上申请了一个帐号后,邮件 服务器就会为这个帐号分配一定的空间,用户从而可以使用这个帐号以及空间,发送电子 邮件和保存别人发送过来的电子邮件。

3. 邮件协议

SMTP 协议-发邮件协议

a. 全称为 Simple Mail Transfer Protoco(l 简单邮件传输协议),它定义了邮件客户端软件与 SMTP 服务器之间、以及两台 SMTP 服务器之间的通讯规则。

b. 端口号:25

POP3 协议-收邮件协议

a. 全称为 Post Office Protocol(邮局协议),它定义了邮件客户端软件与 POP3 服务器的通讯规则。

b. 端口号:110

二、 发送邮件

1. 发送邮件的流程

2. 代码实现

package com.store.utils;

import java.util.Properties;

import javax.mail.Authenticator;

import javax.mail.Message;

import javax.mail.MessagingException;

import javax.mail.PasswordAuthentication;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.AddressException;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

import javax.mail.internet.MimeMessage.RecipientType;

public class MailUtils {

public static void sendMail(String email, String emailMsg)

throws AddressException, MessagingException {

// 1.创建一个程序与邮件服务器对话对象 Session

Properties props = new Properties();

//设置发送的协议

//props.setProperty("mail.transport.protocol", "SMTP");

//设置发送邮件的服务器

//props.setProperty("mail.host", "smtp.126.com");

//props.setProperty("mail.smtp.auth", "true");//指定验证为true

//创建验证器

Authenticator auth = new Authenticator() {

public PasswordAuthentication getPasswordAuthentication() {

//设置发件人的账号和密码

return new PasswordAuthentication("DVqRobadmin", "admin@store.com");

}

};

Session session = Session.getInstance(props, auth);

// 2.创建一个Message,它相当于是邮件内容

Message message = new MimeMessage(session);

//设置发送者

message.setFrom(new InternetAddress("admin@store.com"));

//设置发送方式与接收者

messagDVqRobe.setRecipient(RecipientType.TO, new InternetAddress(email));

//设置邮件主题

message.setSubject("这是我们的第一份邮件");

//设置邮件内容

message.setContent("哈哈,你到我的商城注册了", "text/html;charset=UTF-8");

// 3.创建Transport,用于将邮件发送

Transport.send(message);

}

public static void main(String[] args) throws AddressException, MessagingException {

MailUtils.sendMail("aaa@store.com", "abcdefg");

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:#yyds干货盘点# 关于跨域问题的探讨:cors、csrf
下一篇:#yyds干货盘点# 浏览器跨域服务器端关键配置
相关文章

 发表评论

暂时没有评论,来抢沙发吧~