-
JavaMail开发的课程内容:
1 理解邮件开发涉及的基本概念
2 了解SMTP 和 POP3协议
3 掌握配置 Foxmail
4 掌握JavaMail发送简单邮件
查看全部 -
发送激活邮件正文,正文内容使用 html 的语法进行修饰,用户邮箱POP3接受到邮件后会自动根据标签及样式进行解析。
激活邮件的原理:
发送邮件给用户,用户根据接收到的邮件的连接点击并跳转到对应的servlet请求接口执行code验证码查询到用户,并根据当前激活码的作用对用户执行激活账户、业务等操作!!!
查看全部 -
邮件的发送、接受,在客户端软件中,由SMTP服务器进行发送操作,接受是由POP3服务器进行接收。
查看全部 -
更多编程入门教程资源推荐梦帮客教程网(www.dreambangke.com),分享给想学习编程开发的同学。
查看全部 -
修改用户名
查看全部 -
public void regist(User user) throws SQLEcception{ QueryRunner queryRunner=new QueryRunner(JDBCUtils.getDatasurce()); String sql="Insert into user values(?,?,?,?,?)"; Object[] params={user.getUid(),user.getUsername(),user.getPassword,user.getNicename(),user.getState(),user.getCode()}; queryRunner.update(sql,params); }
查看全部 -
接口查询!
查看全部 -
pop3默认端口号为110
查看全部 -
javaMail
JavaMail,顾名思义,提供给开发者处理电子邮箱相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMail开发出类似于Microsoft Outlook的应用程序。
查看全部 -
现在就直接配置pom.xml文件就行,不用下载jar包。这个算是全的,里面有一些没用的配置请自行处理。 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.it.guo</groupId> <artifactId>shop</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>shop Maven Webapp</name> <url>http://maven.apache.org</url> <!-- 各个依赖的版本 --> <properties> <java-version>1.7</java-version> <junit-version>4.8.2</junit-version> <org.springframework-version>3.2.4.RELEASE</org.springframework-version> <jackson-mapper-asl-version>1.9.12</jackson-mapper-asl-version> <jackson-core-asl-version>1.9.12</jackson-core-asl-version> <mysql-connector-java-version>5.1.8</mysql-connector-java-version> <org.mybatis-version>3.2.7</org.mybatis-version> <org.mybatis-spring-version>1.2.2</org.mybatis-spring-version> <opensymphony-version>2.4.2</opensymphony-version> <freemarker-version>2.3.9</freemarker-version> <c3p0-version>0.9.1.2</c3p0-version> <commons-collections-version>1.0</commons-collections-version> <commons-fileupload-version>1.2.2</commons-fileupload-version> <org.apache.commons-version>3.1</org.apache.commons-version> <commons-codec-version>1.6</commons-codec-version> <dom4j-version>1.6.1</dom4j-version> <javax.servlet-version>1.2</javax.servlet-version> <aspectjweaver-version>1.6.6</aspectjweaver-version> <slf4j-log4j12-version>1.6.6</slf4j-log4j12-version> <log4j-version>1.2.16</log4j-version> <javax.servlet-jsp-version>2.0</javax.servlet-jsp-version> <cglib-version>2.2.2</cglib-version> <slf4j-api-version>1.6.6</slf4j-api-version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <!--maven 构建项目依赖包 --> <dependencies> <dependency> <groupId>javax.jms</groupId> <artifactId>jms</artifactId> <version>1.1</version> </dependency> <!-- with junit 3.8.1--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- with spring--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${org.springframework-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${org.springframework-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${org.springframework-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>${org.springframework-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${org.springframework-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${org.springframework-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${org.springframework-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${org.springframework-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${org.springframework-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-instrument</artifactId> <version>${org.springframework-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-instrument-tomcat</artifactId> <version>${org.springframework-version}</version> </dependency> <!--springmvc 转 Json --> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>${jackson-mapper-asl-version}</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> <version>${jackson-core-asl-version}</version> </dependency> <!--freemarker --> <dependency> <groupId>freemarker</groupId> <artifactId>freemarker</artifactId> <version>${freemarker-version}</version> </dependency> <!-- with mybatis-spring --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${org.mybatis-version}</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>${org.mybatis-spring-version}</version> </dependency> <!-- jdbc driver --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql-connector-java-version}</version> </dependency> <!-- connect pool with c3p0 --> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>${c3p0-version}</version> </dependency> <!-- apache commons jar --> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>${commons-collections-version}</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>${commons-fileupload-version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>${org.apache.commons-version}</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>${commons-codec-version}</version> </dependency> <!-- analyze xml use dom4j --> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>${dom4j-version}</version> </dependency> <!-- about servlet --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>${javax.servlet-version}</version> </dependency> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.6.6</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.6.6</version> </dependency> <dependency> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> <version>1.1.1</version> </dependency> <!-- memcached --> <dependency> <groupId>com.google.code.maven-play-plugin.spy</groupId> <artifactId>memcached</artifactId> <version>2.4.2</version> </dependency> <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>${cglib-version}</version> </dependency> <dependency> <groupId>net.fckeditor</groupId> <artifactId>java-core</artifactId> <version>2.6</version> </dependency> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20131018</version> </dependency> <!-- excel操作 --> <!-- <dependency> <groupId>cn.liu.jxl</groupId> <artifactId>jxl</artifactId> <version>2.6.10</version> </dependency> --> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-client</artifactId> <version>1.18.1</version> </dependency> <dependency> <groupId>jsptags</groupId> <artifactId>pager-taglib</artifactId> <version>2.0</version> </dependency> <dependency> <groupId>net.sourceforge.jexcelapi</groupId> <artifactId>jxl</artifactId> <version>2.6.10</version> </dependency> <dependency> <groupId>opensymphony</groupId> <artifactId>oscache</artifactId> <version>2.4.1</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.4</version> <scope>provided</scope> </dependency> </dependencies> <!-- 构建项目 --> <build> <finalName>shop</finalName> <plugins> <!-- 项目热部署到 本机的 tomcat --> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <url>http://localhost:8080/manager/text</url> <!-- 把项目部署到根目录中 --> <path>/</path> <username>admin</username> <password>123</password> </configuration> </plugin> </plugins> </build></project>
--------------------- 作者:为了那份宁静 来源:CSDN 原文:https://blog.csdn.net/linhaiguo/article/details/50867946?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接!
查看全部 -
如果你有幸收到我,请点赞。以下是c3p0配置代码,你需要建一个xml文件。若有错误,请告知。手打。
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<default-config>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/tv_guide
</property>
<property name="droverClass">com.mysql.jdbc.Driver</property>
<property name="user">root</property>
<property name="password">djl19961231</property>
<property name="checkoutTimeout">30000</property>
<property name="idleConnectionTestPeriod">30</property>
<property name="initiaPoolSize">10</property>
<property name="maxIdleTime">30</property>
<property name="maxPoolSize">100</property>
<property name="maxStatements">200</property>
</default-config>
</c3p0-config>
查看全部 -
邮件发送过程图详解。
查看全部 -
电子邮箱:
电子邮箱需要在邮件服务器上进行申请,电子邮箱就是用户在邮件服务器上申请的一个账户。
邮箱服务器:
服务器指的是电脑安装了一个服务器软件,那么这台电脑就可以称为WEB服务器。所以,一台电脑安装了邮箱服务器软件,那么这台电脑称之为是邮箱服务器。
邮件发送协议:
SMTP协议:(Simple Mail Transfer Protocal)即简单邮件传输协议,他是一组用于由源地址到目的地址传输邮件的规则,由他来控制信件的中转方式。 SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。 通常把处理用户SMTP请求(邮件发送请求)的邮件服务器称之为SMTP服务器 , 默认端口号为25.
POP3协议(接收邮件):主要用于支持使用客户端远程管理在服务器上的电子邮件。 用户若想从邮件服务器管理的电子邮件中接收一封电子邮件的话,连上服务器后,也需要遵循一定的通讯格式。POP3协议用于定义这种通讯格式。默认端口号是110.
查看全部 -
javaMail:提供开发者处理电子邮件相关的编程接口。它是sun公司用来处理email的API。
作用:
用户注册后,网站发送一封激活邮件验证
用户过生日,发送生日祝福邮件
最新活动或优惠以邮件的形式告知会员。
查看全部 -
邮箱验证技术
1,首先我们下载一个本地的邮箱服务器(eyoumailserver)。
2,在邮箱服务器中创建新的账号用来后面给注册用户发送激活邮件。
3,服务器搭建好之后,我们可以着手准备编写代码了
(1),准备编写代码需要的jar包
1,数据库(mysql)驱动包
2,mail.jar包
(2),工具类
1,JDBC.untils用来连接数据库
2,UuidUtil用来生成邮箱验证码
3,还要编写EmailSend工具类用来发送邮件
package com.xiaozhu.untils;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
public class SendEmail {
public static void sendEmail(String to,String code) throws MessagingException {
Properties props = new Properties();
Session session=Session.getInstance(props, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("service@xiaozhu.com","123");
}
});
//创建邮件对象
Message message = new MimeMessage(session);
//设置发件人
message.setFrom(new InternetAddress("service@xiaozhu.com"));
//设置具体的收件人
message.setRecipient(Message.RecipientType.TO,new InternetAddress(to));
//设置邮件主题
message.setSubject("来自小猪网站的激活邮件");
//设置邮件正文
message.setContent("<h1>来自小猪网站的激活邮件,激活请点击一下连接:</h1><h3><a href='http://localhost:8080/ActiveServlet?code="+code+"'>http://localhost:8080/emiltest/ActiveServlet?code="+code+"</a></h3>","text/html;charset=utf-8");
//发送邮件
Transport.send(message);
}
}
邮箱内容效果如下:下面是我整理的代码思路
1,前端你可以通过表单直接提交至servlet,也可以发送ajax请求,这里我是发送的ajax
2,首先我们完成简单的用户注册,向数据库存入数据,给出前端响应信息
3,什么时候发送邮件呢?
在这里我是注册时,数据库插入成功后返回的修改条数不为空即插入成功,成功后我直接调用工具类发送邮件,返回一个json类型的信息数据然后向前端响应信息,注册成功,请激活邮件验证码使用账号。
4,这时候用户去邮箱点击激活码连接后,我们是在工具类中设置了它的链接指向了我们的一个ActiveServlet,并且传递给我们code参数,用来查询数据库中是否有这样一个用户,如果用户不为空说明有这个用户,我们将其状态改为我们定义的激活,例如字段state 值为0是未激活,1是激活,并且激活码设置为null,然后调用service方法重新把这个具有新属性值的用户给更新到数据库。为了跟踪这个用户我们语句最后条件是where uid=这个用户的uid,表示是同一用户行使了激活命令。然后我们这个时候可以重定向或转发到激活成功的界面。整体思路就是这样。。。。。
查看全部
举报