Bonjour à tous,
j'ai crée une application java qui permet d'envoyer des mails en utilisant api java mail sous la cadre de projet fin année et j'ai besoins d'une méthode ou un bous de code qui fait l'enregistrement de mon mail après l'envoie .
voici mon code et merci d'avance :
//import java.io.File;
import java.util.Date;
import java.util.Properties;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
//import javax.mail.Address;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
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 EmailAttachmentDemo {
private String from, to, bodyText, subject;
private String smtp, filename;
private int port;
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
public String getFrom() {
return from;
}
public String getBodyText() {
return bodyText;
}
public void setBodyText(String bodyText) {
this.bodyText = bodyText;
}
public int getPort() {
return port;
}
public String getSmtp() {
return smtp;
}
public String getSubject() {
return subject;
}
public String getTo() {
return to;
}
public void setFrom(String from) {
this.from = from;
}
public void setPort(int port) {
this.port = port;
}
public void setSmtp(String smtp) {
this.smtp = smtp;
}
public void setSubject(String subject) {
this.subject = subject;
}
public void setTo(String to) {
this.to = to;
}
public EmailAttachmentDemo(String from, String to, String bodyText, String subject, String filename) {
this.from = from;
this.to = to;
this.bodyText = bodyText;
this.subject = subject;
this.filename = filename;
this.smtp = "smtp.topnet.tn";
this.port = 25;
}
public boolean validmail(String email) {
Pattern p = Pattern.compile("^[a-zA-Z]+[.]+[a-zA-Z]+@[a-zA-Z.]{2,}[.][a-zA-Z]{2,4}$");
Matcher m = p.matcher(email);
if (m.matches() == true) {
return true;
} else {
System.out.println("email non valider");
return false;
}
}
public boolean sendEmail() {
if (!validmail(getFrom())) {
return false;
}
if (!validmail(getTo())) {
return false;
}
Properties properties = new Properties();
properties.put("mail.smtp.host", getSmtp());
properties.put("mail.smtp.port", getPort());
Session session = Session.getDefaultInstance(properties, null);
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(getFrom()));
message.setRecipient(Message.RecipientType.TO, new InternetAddress(getTo()));
message.setSubject(getSubject());
message.setSentDate(new Date());
/*/Accus de reception
message.setHeader("Disposition-Notification-To", getFrom());
message.setHeader("Return-Receipt-To", getFrom());
/* */
MimeBodyPart messagePart = new MimeBodyPart();
messagePart.setText(getBodyText());
MimeBodyPart attachmentPart = new MimeBodyPart();
FileDataSource fileDataSource = new FileDataSource(getFilename()) {
@Override
public String getContentType() {
return "application/octet-stream";
}
};
attachmentPart.setDataHandler(new DataHandler(fileDataSource));
attachmentPart.setFileName(getFilename());
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messagePart);
multipart.addBodyPart(attachmentPart);
message.setContent(multipart);
Transport.send(message);
System.out.println("mail envoyée");
return true;
} catch (MessagingException e) {
System.out.println("mail non envoyée");
// e.printStackTrace();
return false;
}
}
public static void main(String[] args) {
String from = "Chhibi.Ahmed@yahoo.fr";
String des = "chhibi.ahmed@gmail.com";
String msg = "bonjour";
String subject = "mailattachment";
String filename = "C:\\Documents and Settings\\ABD\\Bureau\\Fiches de Pointages\\Nl.xlsx";
EmailAttachmentDemo demo = new EmailAttachmentDemo(from, des, msg, subject, filename);
if (!demo.sendEmail()) {
System.out.println("email non envoyée");
}
}
}
Afficher la suite