Envoi de mail derrière un proxy
Bonjour à tous,
je viens vers vous pour connaitre la démarche pour envoyer des mails quand on se trouve derrière un proxy (McAfee entreprise).
Voici mon code d'envoie de mail :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
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 SendMail {
public SendMail(final String user, final String password, String emetteur, String destinataire, String sujet, String messageText, String[] pieceJointe) {
Properties props = new Properties();
FichierConfig config = new FichierConfig();
props.put("mail.smtp.host", config.get("mail.smtp.host", FenetreCalculPose.CONFIG_MAIL));
props.put("mail.smtp.socketFactory.port", config.get("mail.smtp.socketFactory.port", FenetreCalculPose.CONFIG_MAIL));
props.put("mail.smtp.socketFactory.class", config.get("mail.smtp.socketFactory.class", FenetreCalculPose.CONFIG_MAIL));
props.put("mail.smtp.auth", config.get("mail.smtp.auth", FenetreCalculPose.CONFIG_MAIL));
props.put("mail.smtp.port", config.get("mail.smtp.port", FenetreCalculPose.CONFIG_MAIL));
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user, password);
}
});
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(emetteur));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(destinataire));
message.setSubject(sujet);
Multipart mp = new MimeMultipart();
for (int i = 0; i < pieceJointe.length; i++) {
MimeBodyPart pj = new MimeBodyPart();
FileDataSource source = new FileDataSource(pieceJointe[i]);
pj.setDataHandler(new DataHandler(source));
pj.setFileName(source.getName());
mp.addBodyPart(pj);
}
MimeBodyPart ms = new MimeBodyPart();
ms.setText(messageText);
mp.addBodyPart(ms);
message.setContent(mp);
Transport.send(message);
} catch (MessagingException e) {
throw new RuntimeException(e);
}
}
} |
Le problème c'est que je ne sais pas si le port 465 et ouvert mais il faut déja que je trouve comment entrer le mot de passe et le login du proxy (que j'ai en ma possession pour l'accès à internet).
Si le port 465 et bloquer quel autre solution existe t-il ?
Merci à tous pour votre aide et vos réponses.