Olá,
Bom, estou com o seguinte problema. Preciso enviar um e-mail em codigo html(vai ser um relatorio). Consigo enviar e-mail texto. para isso uso os seguintes codigos.
[code]package Mail;
import java.util.;
import javax.mail.;
import javax.mail.internet.;
import javax.activation.;
public class MailManager {
/** Creates a new instance of MailManager */
public MailManager() {
}
public void send(MailServer server, MailMessage msg) throws Exception {
try {
Properties mailProps = new Properties();
mailProps.put("mail.smtp.host", server.getMailServer());
SimpleAuth auth = null;
if (server.isNeedsAuth()) {
// [#] No authorization needed for this mail server
mailProps.put("mail.smtp.auth", "false");
} else {
// [#] Authorization needed for this mail server
auth = new SimpleAuth(server.getUsername(), server.getPassword());
mailProps.put("mail.smtp.auth", "true");
mailProps.put("mail.user", auth.username);
mailProps.put("mail.from", msg.getFrom());
mailProps.put("mail.to", msg.getTo());
}
Session mailSession = Session.getInstance(mailProps, auth);
mailSession.setDebug(false);
Message email = new MimeMessage(mailSession);
email.setRecipients( Message.RecipientType.TO, InternetAddress.parse(msg.getTo()) );
if (!msg.getCc().trim().equals("")) {
email.setRecipients( Message.RecipientType.CC, InternetAddress.parse(msg.getCc()) );
}
if (!msg.getBcc().trim().equals("")) {
email.setRecipients( Message.RecipientType.BCC, InternetAddress.parse(msg.getBcc()) );
}
email.setFrom( new InternetAddress(msg.getFrom()));
email.setSubject(msg.getSubject());
email.setContent( msg.getText(), "text/plain" );
Transport.send( email );
} catch (Exception e) {
System.out.println(" [E] ERROR: "+e);
e.printStackTrace(System.out);
throw e;
}
System.out.println(" [#] Email successfully sent");
return;
}
public void send(MailServer server, String to, String cc, String bcc, String from, String subject, String text) throws Exception {
MailMessage msg = new MailMessage(to,cc,bcc,from,subject,text);
this.send(server, msg);
return;
}
public static void enviar(String para, String de, String titulo, String mensagem) {
MailServer server = new MailServer("mail.fruki.ind.br","informatica","",true);
MailManager m = new MailManager();
try {
m.send(server, para,"","",de,titulo,mensagem);
} catch (Exception e) {
e.printStackTrace(System.out);
}
}
class SimpleAuth extends Authenticator {
public String username = null;
public String password = null;
public SimpleAuth(String user, String pwd) {
username = user;
password = pwd;
}
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username,password);
}
}
}[/code]
Esse codigo envia o e-mail normalmente, mas preciso que envie o codigo HTML.
Alguem tem alguma ideia de como eu faço isso??? A aplicação é desktop/SWING.
Desde já obrigado pela ajuda.
!