Pessoal, montei uma aplicação para enviar e-mails com um video WMV no corpo, mas somente funciona no Outlook Express.
Alguém poderia me ajudar a fazer rodar em outros clientes de e-mail?
Desde já agradeço.
Abs
James
package br.mailvideo.james.testes;
import java.util.Date;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
public class TestVideoMail {
private String mailHost = "";
private String mailUser="";
private String mailPass = "";
private String mailFrom = "host";
private String mailTo = "";
private String filePath = "c:\video.wmv";
private void send() {
Session session = null;
Authenticator auth = null;
// create some properties and get the default Session
Properties props = System.getProperties();
props.put("mail.smtp.host", mailHost);
if (mailUser != null && !mailUser.trim().equals("")) {
props.put("mail.smtp.auth", "true");
auth = new SMTPAuthenticator();
}
session = Session.getInstance(props, auth);
try {
// Create the message
Message message = new MimeMessage(session);
// Fill its headers
message.setSubject("Teste Email com video");
message.setFrom(new InternetAddress(mailFrom));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(mailTo));
// Create your new message part
BodyPart messageBodyPart = new MimeBodyPart();
StringBuffer htmlText = new StringBuffer("<H2>Email com vídeo</H2>");
htmlText.append("<html>");
htmlText.append("<body>");
htmlText.append("<div align=center width=100% height=100%><img src=\"imagem.gif\"");
htmlText.append("dynsrc=\"cid:iphone2.wmv\" width=\"320\" height=\"240\" /></div>");
htmlText.append("<b>segundo video</b>");
htmlText.append("<div align=center width=100% height=100%><img src=\"imagem.gif\"");
htmlText.append("dynsrc=\"cid:iphone2.wmv\" width=\"320\" height=\"240\" /></div>");
htmlText.append("</body>");
htmlText.append("</html>");
messageBodyPart.setContent(htmlText.toString(), "text/html");
// Create a related multi-part to combine the parts
MimeMultipart multipart = new MimeMultipart("related");
multipart.addBodyPart(messageBodyPart);
// Create part for the image
messageBodyPart = new MimeBodyPart();
// Fetch the image and associate to part
DataSource fds = new FileDataSource(filePath);
messageBodyPart.setDataHandler(new DataHandler(fds));
messageBodyPart.setHeader("Content-ID","<video.wmv>");
messageBodyPart.setHeader("Content-Type", "video/x-ms-WMV");
//messageBodyPart.setHeader("Content-Type", "video/x-ms-WMV; name=video.wmv");
//messageBodyPart.setHeader("Content-Type", "application/octet-stream .wmv; name=iphone2.wmv");
// Add part to multi-part
multipart.addBodyPart(messageBodyPart);
// Associate multi-part with message
message.setContent(multipart);
// set the Date: header
message.setSentDate(new Date());
// send the message
Transport.send(message);
} catch (MessagingException mex) {
mex.printStackTrace();
Exception ex = null;
if ((ex = mex.getNextException()) != null) {
ex.printStackTrace();
}
}
}
private class SMTPAuthenticator extends javax.mail.Authenticator {
public PasswordAuthentication getPasswordAuthentication() {
String username = mailUser;
String password = mailPass;
return new PasswordAuthentication(username, password);
}
}
public static void main(String[] args) {
TestVideoMail mail = new TestVideoMail();
mail.send();
System.out.println("E-mail enviado com sucesso!");
}
}