Tomando como exemplo um projeto web, o código pode ser transplantado
Primeiro, importe o pacote mail.jar e depois crie sua própria classe
1: classe HTMLSender
Copie o código do código da seguinte forma:
pacote com.txq.mail;
importar java.util.Properties;
importar javax.mail.Message;
importar javax.mail.MessagingException;
importar javax.mail.NoSuchProviderException;
importar javax.mail.Session;
importar javax.mail.Transport;
importar javax.mail.internet.AddressException;
importar javax.mail.internet.InternetAddress;
importar javax.mail.internet.MimeMessage;
importar javax.mail.internet.MimeMultipart;
importar javax.mail.internet.MimeUtility;
/**
*
* @autor Administrador
*
*/
classe pública HTMLSender {
mensagem MimeMessage privada;
adereços de propriedades privadas;
sessão de sessão privada;
nome da string privada = "";
senha privada String = "";
public HTMLSender (String host,String nome,String senha)
{
este.nome = nome;
esta.senha = senha;
adereços = System.getProperties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth","true");
Autenticador MeuAutenticador = new MeuAutenticador(nome,senha);
sessão = Session.getDefaultInstance(props,auth);
mensagem = new MimeMessage(sessão);
novo MimeMultipart();
}
public void setFrom(String de)
{
tentar
{
mensagem.setFrom(novo endereço de Internet(de));
}
pegar (AddressException e)
{
e.printStackTrace();
}
pegar (MessagingException e)
{
e.printStackTrace();
}
}
público vazio setTo(String para)
{
tentar
{
mensagem.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to));
}
catch(AddressException e)
{
e.printStackTrace();
}
catch(MessagingException e)
{
e.printStackTrace();
}
}
public void setSubject(String assunto)
{
tentar
{
mensagem.setSubject(assunto);
}
pegar(Exceção e)
{
e.printStackTrace();
}
}
public void setContect (conteúdo da string)
{
tentar
{
mensagem.setContent(content,"text/html;charset=utf-8");
}
pegar(Exceção e)
{
e.printStackTrace();
}
}
envio booleano público()
{
tentar
{
Transporte transporte = session.getTransport("smtp");
transport.connect((String)props.get("mail.smtp.host"),nome,senha);
transport.sendMessage(mensagem, mensagem.getRecipients(Message.RecipientType.TO));
transporte.close();
retornar verdadeiro;
}
catch(NoSuchProviderException e)
{
e.printStackTrace();
retornar falso;
}
catch(MessagingException e)
{
e.printStackTrace();
retornar falso;
}
}
}
2: classe MyAuthenticator
Copie o código do código da seguinte forma:
pacote com.txq.mail;
importar javax.mail.Authenticator;
importar javax.mail.PasswordAuthentication;
classe pública MyAuthenticator estende Authenticator{
Nome da sequência;
Senha de sequência;
público MyAuthenticator (nome da string, senha da string)
{
este.nome = nome;
esta.senha = senha;
getPasswordAuthentication();
}
PasswordAuthentication protegida getPasswordAuthentication()
{
retornar nova PasswordAuthentication(nome,senha);
}
}
3: Classe MailAction
Copie o código do código da seguinte forma:
pacote com.txq.action;
importar java.io.PrintWriter;
importar com.opensymphony.xwork2.ActionSupport;
importar com.txq.mail.HTMLSender;
classe pública MailAction estende ActionSupport {
email de string privado;
string pública sendEmail(){
//Agente anfitrião-Sina
String host = "smtp.sina.cn";
//Conta-Conta Sina
String nome = "followmusic";
//Senha-Sina senha
String senha = "followmusic";
//Cria um objeto de e-mail
Email HTMLSender = novo HTMLSender(host,nome,senha);
//Enviando conta
mail.setFrom("[email protected]");
//conta de e-mail
mail.setTo("[email protected]");
//Assunto do e-mail
mail.setSubject("Tao Interesse");
//Conteúdo do e-mail
mail.setContect("Seu amigo convida você para procurar interesses ~");
if(mail.enviar())
{
retornar SUCESSO;
}
outro
{
retornar "erro";
}
}
public String getEmail() {
retornar e-mail;
}
public void setEmail(String email) {
este.e-mail = e-mail;
}
}