Если взять в качестве примера веб-проект, код можно пересадить
Сначала импортируйте пакет mail.jar, а затем создайте свой собственный класс.
1: класс HTMLSender
Скопируйте код кода следующим образом:
пакет com.txq.mail;
импортировать java.util.Properties;
импортировать javax.mail.Message;
импортировать javax.mail.MessagingException;
импортировать javax.mail.NoSuchProviderException;
импортировать javax.mail.Session;
импортировать javax.mail.Transport;
импортировать javax.mail.internet.AddressException;
импортировать javax.mail.internet.InternetAddress;
импортировать javax.mail.internet.MimeMessage;
импортировать javax.mail.internet.MimeMultipart;
импортировать javax.mail.internet.MimeUtility;
/**
*
* @author Администратор
*
*/
общественный класс HTMLSender {
личное сообщение MimeMessage;
реквизит частной собственности;
частный сеанс сеанса;
частное имя строки = "";
личный строковый пароль = "";
общедоступный HTMLSender (хост строки, имя строки, пароль строки)
{
это.имя = имя;
this.password = пароль;
реквизит = System.getProperties();
props.put("mail.smtp.host", хост);
props.put("mail.smtp.auth", "true");
MyAuthenticator auth = новый MyAuthenticator (имя, пароль);
сеанс = Session.getDefaultInstance(реквизит, аутентификация);
сообщение = новый MimeMessage (сессия);
новый MimeMultipart();
}
public void setFrom (строка из)
{
пытаться
{
message.setFrom(новый InternetAddress(from));
}
поймать (AddressException e)
{
е.printStackTrace();
}
поймать (MessagingException e)
{
е.printStackTrace();
}
}
public void setTo (строка для)
{
пытаться
{
message.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to));
}
поймать (AddressException e)
{
е.printStackTrace();
}
поймать (MessagingException e)
{
е.printStackTrace();
}
}
public void setSubject (строковая тема)
{
пытаться
{
message.setSubject(тема);
}
поймать (Исключение е)
{
е.printStackTrace();
}
}
public void setContect (строковое содержимое)
{
пытаться
{
message.setContent(content,"text/html;charset=utf-8");
}
поймать (Исключение е)
{
е.printStackTrace();
}
}
общедоступное логическое значение send()
{
пытаться
{
Транспортный транспорт = session.getTransport("smtp");
Transport.connect((String)props.get("mail.smtp.host"),имя,пароль);
Transport.sendMessage(сообщение, message.getRecipients(Message.RecipientType.TO));
транспорт.закрыть();
вернуть истину;
}
улов (NoSuchProviderException e)
{
е.printStackTrace();
вернуть ложь;
}
поймать (MessagingException e)
{
е.printStackTrace();
вернуть ложь;
}
}
}
2: Класс MyAuthenticator
Скопируйте код кода следующим образом:
пакет com.txq.mail;
импортировать javax.mail.Authenticator;
импортировать javax.mail.PasswordAuthentication;
публичный класс MyAuthenticator расширяет Authenticator{
Строковое имя;
Строковый пароль;
public MyAuthenticator (имя строки, пароль строки)
{
это.имя = имя;
this.password = пароль;
getPasswordAuthentication();
}
защищенная проверка подлинности пароля getPasswordAuthentication()
{
вернуть новый парольAuthentication(имя,пароль);
}
}
3: Класс MailAction
Скопируйте код кода следующим образом:
пакет com.txq.action;
импортировать java.io.PrintWriter;
импортировать com.opensymphony.xwork2.ActionSupport;
импортировать com.txq.mail.HTMLSender;
публичный класс MailAction расширяет ActionSupport {
личная строка электронной почты;
публичная строка sendEmail() {
//Агент-хост-Сина
Строка хоста = «smtp.sina.cn»;
//Аккаунт-Sina аккаунт
Имя строки = "followmusic";
//Пароль-Сина пароль
Строковый пароль = «followmusic»;
//Создаем объект электронной почты
HTMLSender почта = новый HTMLSender(хост,имя,пароль);
//Отправляем аккаунт
mail.setFrom("[email protected]");
//почтовый аккаунт
mail.setTo("[email protected]");
//Тема письма
mail.setSubject("Интерес Дао");
//Содержимое электронной почты
mail.setContect("Ваш друг приглашает вас зайти и поискать что-нибудь по интересам~");
если (mail.send())
{
вернуть УСПЕХ;
}
еще
{
вернуть «ошибку»;
}
}
публичная строка getEmail() {
вернуть электронное письмо;
}
public void setEmail(String email) {
this.email = адрес электронной почты;
}
}