欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JavaWeb实现简单用户发送邮件

程序员文章站 2022-05-20 18:54:16
在实现用户发送邮件之前,我们先对电子邮箱的基本概念做一些了解。一、电子邮件1. 邮件服务器1.要在 internet 上提供电子邮件功能,必须有专门的电子邮件服务器。例如:现在 internet 很多...

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

一、电子邮件

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. 发送邮件的流程

JavaWeb实现简单用户发送邮件

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("admin", "admin@store.com");
   }
  };

  session session = session.getinstance(props, auth);

  // 2.创建一个message,它相当于是邮件内容
  message message = new mimemessage(session);

  //设置发送者
  message.setfrom(new internetaddress("admin@store.com"));

  //设置发送方式与接收者
  message.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");
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。