-
JavaMail開發(fā)的課程內(nèi)容:
1 理解郵件開發(fā)涉及的基本概念
2 了解SMTP 和 POP3協(xié)議
3 掌握配置 Foxmail
4 掌握J(rèn)avaMail發(fā)送簡單郵件
查看全部 -
發(fā)送激活郵件正文,正文內(nèi)容使用 html 的語法進(jìn)行修飾,用戶郵箱POP3接受到郵件后會自動(dòng)根據(jù)標(biāo)簽及樣式進(jìn)行解析。
激活郵件的原理:
發(fā)送郵件給用戶,用戶根據(jù)接收到的郵件的連接點(diǎn)擊并跳轉(zhuǎn)到對應(yīng)的servlet請求接口執(zhí)行code驗(yàn)證碼查詢到用戶,并根據(jù)當(dāng)前激活碼的作用對用戶執(zhí)行激活賬戶、業(yè)務(wù)等操作?。?!
查看全部 -
郵件的發(fā)送、接受,在客戶端軟件中,由SMTP服務(wù)器進(jìn)行發(fā)送操作,接受是由POP3服務(wù)器進(jìn)行接收。
查看全部 -
更多編程入門教程資源推薦夢幫客教程網(wǎng)(www.dreambangke.com),分享給想學(xué)習(xí)編程開發(fā)的同學(xué)。
查看全部 -
修改用戶名
查看全部 -
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默認(rèn)端口號為110
查看全部 -
javaMail
JavaMail,顧名思義,提供給開發(fā)者處理電子郵箱相關(guān)的編程接口。它是Sun發(fā)布的用來處理email的API。它可以方便地執(zhí)行一些常用的郵件傳輸。我們可以基于JavaMail開發(fā)出類似于Microsoft Outlook的應(yīng)用程序。
查看全部 -
現(xiàn)在就直接配置pom.xml文件就行,不用下載jar包。這個(gè)算是全的,里面有一些沒用的配置請自行處理。 <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> <!--?各個(gè)依賴的版本?--> <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?構(gòu)建項(xiàng)目依賴包?--> <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?轉(zhuǎn)?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> <!--?構(gòu)建項(xiàng)目?--> <build> <finalName>shop</finalName> <plugins> <!--?項(xiàng)目熱部署到?本機(jī)的?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> <!--?把項(xiàng)目部署到根目錄中?--> <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 版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!
查看全部 -
如果你有幸收到我,請點(diǎn)贊。以下是c3p0配置代碼,你需要建一個(gè)xml文件。若有錯(cuò)誤,請告知。手打。
<?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>
查看全部 -
郵件發(fā)送過程圖詳解。
查看全部 -
電子郵箱:
????電子郵箱需要在郵件服務(wù)器上進(jìn)行申請,電子郵箱就是用戶在郵件服務(wù)器上申請的一個(gè)賬戶。
郵箱服務(wù)器:
?????服務(wù)器指的是電腦安裝了一個(gè)服務(wù)器軟件,那么這臺電腦就可以稱為WEB服務(wù)器。所以,一臺電腦安裝了郵箱服務(wù)器軟件,那么這臺電腦稱之為是郵箱服務(wù)器。
郵件發(fā)送協(xié)議:
SMTP協(xié)議:(Simple Mail Transfer Protocal)即簡單郵件傳輸協(xié)議,他是一組用于由源地址到目的地址傳輸郵件的規(guī)則,由他來控制信件的中轉(zhuǎn)方式。? ? ? ? ? ? SMTP協(xié)議屬于TCP/IP協(xié)議簇,它幫助每臺計(jì)算機(jī)在發(fā)送或中轉(zhuǎn)信件時(shí)找到下一個(gè)目的地。? ?通常把處理用戶SMTP請求(郵件發(fā)送請求)的郵件服務(wù)器稱之為SMTP服務(wù)器 , 默認(rèn)端口號為25.
POP3協(xié)議(接收郵件):主要用于支持使用客戶端遠(yuǎn)程管理在服務(wù)器上的電子郵件。? ? ? 用戶若想從郵件服務(wù)器管理的電子郵件中接收一封電子郵件的話,連上服務(wù)器后,也需要遵循一定的通訊格式。POP3協(xié)議用于定義這種通訊格式。默認(rèn)端口號是110.
查看全部 -
javaMail:提供開發(fā)者處理電子郵件相關(guān)的編程接口。它是sun公司用來處理email的API。
作用:
用戶注冊后,網(wǎng)站發(fā)送一封激活郵件驗(yàn)證
用戶過生日,發(fā)送生日祝福郵件
最新活動(dòng)或優(yōu)惠以郵件的形式告知會員。
查看全部 -
???????????????????????????????????????? 郵箱驗(yàn)證技術(shù)
1,首先我們下載一個(gè)本地的郵箱服務(wù)器(eyoumailserver)。
2,在郵箱服務(wù)器中創(chuàng)建新的賬號用來后面給注冊用戶發(fā)送激活郵件。
3,服務(wù)器搭建好之后,我們可以著手準(zhǔn)備編寫代碼了
? (1),準(zhǔn)備編寫代碼需要的jar包
???????? 1,數(shù)據(jù)庫(mysql)驅(qū)動(dòng)包
???????? 2,mail.jar包
? (2),工具類
???????? 1,JDBC.untils用來連接數(shù)據(jù)庫
???????? 2,UuidUtil用來生成郵箱驗(yàn)證碼
???????? 3,還要編寫EmailSend工具類用來發(fā)送郵件
?? ???????? 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");
????????? ??? ? }
????? ??? ??? ? });
??????? //創(chuàng)建郵件對象
??????? Message message = new MimeMessage(session);
??????? //設(shè)置發(fā)件人
??????? message.setFrom(new InternetAddress("service@xiaozhu.com"));
??????? //設(shè)置具體的收件人
?????? message.setRecipient(Message.RecipientType.TO,new InternetAddress(to));
??????? //設(shè)置郵件主題
??????? message.setSubject("來自小豬網(wǎng)站的激活郵件");
??????? //設(shè)置郵件正文
??????? message.setContent("<h1>來自小豬網(wǎng)站的激活郵件,激活請點(diǎn)擊一下連接:</h1><h3><a href='http://localhost:8080/ActiveServlet?code="+code+"'>http://localhost:8080/emiltest/ActiveServlet?code="+code+"</a></h3>","text/html;charset=utf-8");
??????? //發(fā)送郵件
??????? Transport.send(message);
??? }
}
郵箱內(nèi)容效果如下:下面是我整理的代碼思路
1,前端你可以通過表單直接提交至servlet,也可以發(fā)送ajax請求,這里我是發(fā)送的ajax
2,首先我們完成簡單的用戶注冊,向數(shù)據(jù)庫存入數(shù)據(jù),給出前端響應(yīng)信息
3,什么時(shí)候發(fā)送郵件呢?
在這里我是注冊時(shí),數(shù)據(jù)庫插入成功后返回的修改條數(shù)不為空即插入成功,成功后我直接調(diào)用工具類發(fā)送郵件,返回一個(gè)json類型的信息數(shù)據(jù)然后向前端響應(yīng)信息,注冊成功,請激活郵件驗(yàn)證碼使用賬號。
4,這時(shí)候用戶去郵箱點(diǎn)擊激活碼連接后,我們是在工具類中設(shè)置了它的鏈接指向了我們的一個(gè)ActiveServlet,并且傳遞給我們code參數(shù),用來查詢數(shù)據(jù)庫中是否有這樣一個(gè)用戶,如果用戶不為空說明有這個(gè)用戶,我們將其狀態(tài)改為我們定義的激活,例如字段state 值為0是未激活,1是激活,并且激活碼設(shè)置為null,然后調(diào)用service方法重新把這個(gè)具有新屬性值的用戶給更新到數(shù)據(jù)庫。為了跟蹤這個(gè)用戶我們語句最后條件是where uid=這個(gè)用戶的uid,表示是同一用戶行使了激活命令。然后我們這個(gè)時(shí)候可以重定向或轉(zhuǎn)發(fā)到激活成功的界面。整體思路就是這樣。。。。。
查看全部
舉報(bào)