Access SMTP Server – how can i authenticate mail whatever i am sending with the smtp server?

If you use JavaMail api provided by Sun then you can get the latest api from Sun Downloads.
JavaMail uses properties to load all configuration to the program.
You must specify:
# The hostname or IP address of your SMTP server
mail.smtp.host=smtp.duke.java.sun.com

# You get lots of debugging information if
# this is turned on. Comment this line to turn
# it off.
mail.debug=true

# The To email address
ttapr2004.to=duke@duke.java.sun.com

# The From email address
ttapr2004.from=duke@j2ee_fanclub.java.su…

You can easily connect without authenticate to the SMTP server. But you may experience that you cannot send email from your java program:
1. Your ip may be blocked by firewall to Access SMTP Server
2. Your SMTP server block senders address, to address and maybe your ip.
3. Your SMTP server requires authentication

If your server requires authentication this igot it from internet
————————————–…
public class SendMailUsingAuthentication {

private static final String SMTP_HOST_NAME = "myserver.smtphost.com";
private static final String SMTP_AUTH_USER = "myusername";
private static final String SMTP_AUTH_PWD = "mypwd";

private static final String emailMsgTxt =
"Online Order Confirmation Message. Also include the Tracking Number.";
private static final String emailSubjectTxt = "Order Confirmation Subject";
private static final String emailFromAddress = "sudhir@javacommerce.com";

// Add List of Email address to who email needs to be sent to
private static final String[] emailList = {
"mark@yahoo.com", "robin@javacommerce.com"};

public static void main(String args[]) throws Exception {
SendMailUsingAuthentication smtpMailSender = new
SendMailUsingAuthentication();
smtpMailSender.postMail(emailList, emailSubjectTxt, emailMsgTxt,
emailFromAddress);
System.out.println("Sucessfully Sent mail to All Users");
}

public void postMail(String recipients[], String subject,
String message, String from) throws MessagingException {
boolean debug = false;

//Set the host smtp address
Properties props = new Properties();
props.put("mail.smtp.host", SMTP_HOST_NAME);
props.put("mail.smtp.auth", "true");

Authenticator auth = new SMTPAuthenticator();
Session session = Session.getDefaultInstance(props, auth);

session.setDebug(debug);

// create a message
Message msg = new MimeMessage(session);

// set the from and to address
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(addressFrom);

InternetAddress[] addressTo = new InternetAddress[recipients.length];
for (int i = 0; i < recipients.length; i++) {
addressTo[i] = new InternetAddress(recipients[i]);
}
msg.setRecipients(Message.RecipientType…. addressTo);

// Setting the Subject and Content Type
msg.setSubject(subject);
msg.setContent(message, "text/plain");
Transport.send(msg);
}

/**
* SimpleAuthenticator is used to do simple authentication
* when the SMTP server requires it.
*/
private class SMTPAuthenticator
extends javax.mail.Authenticator {

public PasswordAuthentication getPasswordAuthentication() {
String username = SMTP_AUTH_USER;
String password = SMTP_AUTH_PWD;
return new PasswordAuthentication(username, password);
}
}
}
————————————–…

Disclaimer – The Views Expressed In This Article Are Provided By A 3rd Party And May Not Match Those Of Our Website

Leave a Reply

Your email address will not be published. Required fields are marked *

Everybody knows that having a reliable SMTP server is the key to getting your e-mail delivered properly. It's also well known that NOBODY offers SMTP without authentication or for open relay anymore. BUT YOU CAN STILL GET A HIGH QUALITY SMTP SERVER FREE FOR YOUR USE!

Click Here For Your FREE SMTP SERVER