C#完成完全刪除文件的辦法。本站提示廣大學習愛好者:(C#完成完全刪除文件的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C#完成完全刪除文件的辦法正文
日常平凡我們網上逛網站的時刻,常常會用到網站的注冊。有許多辦法,好比發短信驗證,發郵箱驗證。比來在SSH框架下,做了一個簡略的郵件發送激活鏈接到郵箱,然後激活注冊用戶的一個功效。我用到的MailServer是易郵郵件辦事器,援用的是javax.mail.jar包。javamail望文生義,供給給開辟者處置電子郵件相干的編程接口。它是Sun宣布的用來處置email的API。它可以便利地履行一些經常使用的郵件傳輸。
【經常使用類引見】
上面有一些經常使用的類,給年夜家引見一下:
【Authenticator】
這個是一個籠統類,經由過程用戶名和暗碼拜訪受掩護的資本,這些資本就是郵件辦事器。創立完成後,必需向 session 注冊 Authenticator。然後,在須要認證的時刻,就會告訴 Authenticator。
【Message】
這是一個籠統類用來創立要發送的新聞,好比主題,內容啊。必需有一個子類來完成辦法。
【Session】
Session類界說了一個根本郵件會話(session),是Java Mail API最高層進口類。一切其它類都是經過這個session才得以失效。Session對象用Java.util.Properties對象獲得信息,如郵件辦事器、用戶名、暗碼及全部運用法式中同享的其它信息。這個Session類代表JavaMail中的一個郵件session。每個基於JavaMail的運用法式至多有一個session然則可以有隨意率性多的session。
Session sendMailSession;
sendMailSession = Session.getInstance(props, null);
【Transport】
新聞發送的最初一部門是應用Transport類。這個類用協定指定的說話發送新聞(平日是SMTP)。它是籠統類,它的任務方法與Session有些相似。僅挪用靜態send() 辦法,就可以應用類的缺省版本:Transport.send(message)。或許,讀者也能夠從針對本身的協定的會話中取得一個特定的實例,傳遞用戶名和暗碼(假如不用要就不傳),發送新聞,然後封閉銜接。
【代碼完成】
mail對象類:
package cn.itcast.shop.utils;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Message.RecipientType;
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;
/**
* 郵件發送對象類
* @author Zhouzhou
* @date 2016-1-1
* @time 上午08:52:47
*/
public class MailUitls {
public static void sendMail(String to,String code){
/**
* 1.獲得session
* 2.創立一個代碼郵件的對象message
* 3.發送郵件Transport
*/
/**
* 1.取得銜接對象
*/
Properties props=new Properties();
props.setProperty("mail.host","localhost");
Session session=Session.getDefaultInstance(props, new Authenticator(){
@Override
protected PasswordAuthentication getPasswordAuthentication() {
// TODO Auto-generated method stub
return new PasswordAuthentication("service@azz.com","111");
}
});
//2.創立郵件發送對象
Message message=new MimeMessage(session);
//3.設置發件人
try {
message.setFrom(new InternetAddress("service@azz.com"));
//設置收件人
message.addRecipient(RecipientType.TO, new InternetAddress(to));
//題目
message.setSubject("來自周洲商城的官方激活郵件");
message.setContent("<h1>AZZ商城官方激活郵件!點上面鏈接完成激活操作!</h1><h3><a href='http://192.168.21.114:8080/shop/user_active.action?code="+code+"'>http://192.168.21.114:8080/shop/user_active.action?code="+code+"</a></h3>", "text/html;charset=UTF-8");
// 3.發送郵件:
Transport.send(message);
} catch (AddressException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
sendMail("aaa@azz.com","你的激活碼是azz19931016");
}
}
User的營業層在注冊的時刻挪用這個類,應用sendmail辦法。
package cn.itcast.shop.user.service;
import org.springframework.transaction.annotation.Transactional;
import cn.itcast.shop.user.dao.UserDao;
import cn.itcast.shop.user.vo.User;
import cn.itcast.shop.utils.MailUitls;
import cn.itcast.shop.utils.UUIDUtils;
//營業層
@Transactional
public class UserService {
//裝置用戶名查詢用戶的辦法
private UserDao userDao;
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public User findByUsername(String username){
return userDao.findByUsername(username);
}
//營業層:完成 用戶注冊
public void save(User user) {
// TODO Auto-generated method stub
//將數據存入數據庫
user.setState(0);//1曾經激活,0沒有激活
String code=UUIDUtils.getUUID()+UUIDUtils.getUUID();
user.setCode(code);
userDao.save(user);
// 發送激活郵件;
MailUitls.sendMail(user.getEmail(), code);
}
// 營業層依據激活碼查詢用戶
public User findByCode(String code) {
return userDao.findByCode(code);
}
// 修正用戶的狀況的辦法
public void update(User existUser) {
userDao.update(existUser);
}
// 用戶登錄的辦法
public User login(User user) {
return userDao.login(user);
}
}
最初完成了如許的後果:

以上就是本文的全體內容,願望對年夜家的進修有所贊助。