Когда мы обычно выходим в интернет, мы часто используем регистрацию веб -сайта. Есть много методов, таких как отправка текстовых сообщений для проверки и отправки сообщений электронной почты. В последнее время, в рамках SSH Framework, в почтовом ящике была сделана простая ссылка на активацию электронной почты, а затем активировать функцию регистрации пользователей. Mail Server, который я использую, является простым почтовым почтовым сервером, который относится к пакету javax.mail.jar. Как следует из названия, Javamail предоставляет разработчикам интерфейсы программирования, связанные с обработкой электронных писем. Это API, выпущенный Sun для обработки электронной почты. Это может удобно выполнить некоторые обычно используемые почтовые передачи.
【Общие категории Введение】
Вот несколько часто используемых классов, позвольте мне представить их вам:
【Аутентикатор】
Это абстрактный класс, который обращается к защищенным ресурсам через имя пользователя и пароль, которые являются почтовыми серверами. После завершения создания аутентификатор должен быть зарегистрирован в сеансе. Затем, когда требуется аутентификация, аутентификатор будет уведомлен.
【Сообщение】
Это абстрактный класс для создания сообщений для отправки, таких как темы и контент. Должен быть подкласс для реализации метода.
【Сеанс】
Класс сессии определяет основную почтовую сессию, которая является классом входа на высшем уровне Java Mail API. Все остальные классы эффективны только через эту сессию. Объекты сеанса Используют объекты java.util.properties для получения информации, такой как почтовый сервер, имя пользователя, пароль и другая информация, общаясь на протяжении всего приложения. Этот класс сессии представляет собой почтовый сеанс в Javamail. Каждое приложение на основе Javamail имеет как минимум один сеанс, но может иметь как можно больше сессий.
SESSE SENTMAILSESSESS;
sendmailSession = session.getInstance (реквизит, null);
【Транспорт】
Последняя часть отправки сообщений - использовать транспортный класс. Этот класс отправляет сообщения на языке, указанном протоколом (обычно SMTP). Это абстрактный класс, и он работает в некоторой степени аналогично сеансу. Вызовите метод Static Send (), можно использовать версию класса по умолчанию: transport.send (сообщение). В качестве альтернативы, читатели могут получить конкретный экземпляр из сеанса против своего собственного протокола, передать имя пользователя и пароль (не обязательно), отправить сообщение, а затем закрыть соединение.
【Реализация кода】
почтовый класс инструмента:
Пакет cn.itcast.shop.utils; импортировать java.util.properties; импортировать javax.mail.authenticator; импортировать javax.mail.message; импортировать javax.mail.message.recipienttype; импортировать javax.mail.message.recipienttype; Импорт javax.mail.messagingException; импортировать javax.mail.passwordAuthentication; импортировать javax.mail.session; импортировать javax.mail.transport; импортировать javax.mail.internet.addressexception; Импорт javax.mail.internet.internetDdress; Импорт javax.mail.internet.mimemessage; / ** * Класс инструментов отправки почты * @author Zhouzhou * @Date 2016-1-1 * @Time 08:52:47 AM */ Public Class MailItls {public static void sendmail (строка, строковый код) {/ ** * 1. Получить сеанс * 2. Сообщение Code Mail * 3. Отправить транспорт по электронной почте */ ** * 1. props.setproperty ("mail.host", "localhost"); Session = Session.getDefaultInstance (Reps, New Authenticator () {@Override защищенная пароля. // 2. Создать сообщение сообщения о отправке сообщений о отправке = new Mimemessage (Session); // 3. Установить отправитель try {message.setfrom (new InternetAddress ("[email protected]")); // Установить сообщение получателя. // заголовок. Message.SetContent ("<h1> Azz Mall Официальная активация Электронная почта! Нажмите на ссылку ниже, чтобы завершить операцию активации! </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> "," hat/htf-htf- // 3. Отправить электронную почту: transport.send (сообщение); } catch (addresexception e) {// todo автоматически сгенерированный блок e.printstacktrace (); } catch (messagingException e) {// todo автоматически сгенерированный блок e.printstacktrace (); }} public static void main (string [] args) {sendmail ("[email protected]", "Ваш код активации AZZ19931016"); }} Бизнес -уровни пользователя вызывает этот класс при регистрации и использует метод Sendmail.
Пакет cn.itcast.shop.user.service; Импорт org.springframework.transaction.annotation.transactional; Импорт cn.itcast.shop.user.dao.userdao; Импорт cn.itcast.shop.user.vo.user; Импорт cn.itcast.shop.utils.mailuitls; Импорт 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 said (пользователь пользователь) {// TODO Автогенерированный метод Stub // Сохранить данные в базе данных user.setState (0); // 1 был активирован, 0 не был активированный строковый код = uuidutils.getuuid ()+uuidutils.getuuid ();); user.setCode (код); userdao.save (пользователь); // Отправить электронное письмо с активацией; Mailuitls.sendmail (user.getemail (), code); } // Бизнес -уровни Запрашивает пользователь на основе кода активации public user findbycode (String Code) {return userdao.findbycode (code); } // Метод для изменения статуса пользователя public void update (user saintuser) {userdao.update (существующий размер); } // Метод для входа в систему входа в систему пользователя (пользователь пользователя) {return userdao.login (user); }}Наконец, этот эффект был достигнут:
Выше приведено в этой статье, я надеюсь, что это будет полезно для каждого обучения.