-
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("[email protected]","123");
????????? ??? ? }
????? ??? ??? ? });
??????? //創建郵件對象
??????? Message message = new MimeMessage(session);
??????? //設置發件人
??????? message.setFrom(new InternetAddress("[email protected]"));
??????? //設置具體的收件人
?????? 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,表示是同一用戶行使了激活命令。然后我們這個時候可以重定向或轉發到激活成功的界面。整體思路就是這樣。。。。。
查看全部
舉報