smtp + proxy auth
Hi
I have a little problem but big for me L
I use javax.mail for sending and receiving emails in my client application.
I used props.put("mail.smtp.auth", "true") and everything works fine.
But I have problem because I have to use smtp authorization and proxy
authorization.
User have to put proxy login and password, and only then he will have rights
to connect to internet.
How to do this?
My working code without proxy auth looks like that:
-----------------------------------------------------------
public void postMail() throws MessagingException
{
try {
boolean debug = true;
Properties props = new Properties();
props.put("mail.smtp.host", this.SMTP_HOST_NAME);
props.put("mail.smtp.auth", "true");
props.setProperty("mail.transport.protocol", "smtp");
System.setProperty("mail.mime.charset", "iso-8859-2");
Authenticator auth = new SMTPAuthenticator();
Session session = Session.getDefaultInstance(props, auth);
session.setDebug(debug);
Message msg = new MimeMessage(session);
InternetAddress addressFrom = new InternetAddress(this.emailFromAddress);
msg.setFrom(addressFrom);
InternetAddress[] addressTo = new
InternetAddress[this.emailList.length];
for (int i = 0; i < this.emailList.length; i++)
{
addressTo[i] = new InternetAddress(this.emailList[i]);
}
msg.setRecipients(Message.RecipientType.TO, addressTo);
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText(this.emailMsgTxt);
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
try{
messageBodyPart = new MimeBodyPart();
DataSource source = new
FileDataSource(this.plikDoWyslania.getAbsolutePath());
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(this.plikDoWyslania.getName());
multipart.addBodyPart(messageBodyPart);
} catch (Exception exception) {
}
msg.setSubject(this.emailSubjectTxt);
// msg.setContent(this.emailMsgTxt, "text/html");
msg.setContent(multipart);
Transport t = session.getTransport("smtp");
t.send(msg);
//Transport.send(msg);
} catch (MessagingException e){
e.printStackTrace();
throw new MessagingException( );
}
}
Thanks for any help.
Regards
Marius