Skip to Main Content

Java Programming

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Error while sending E-Mail -- 501 Syntax error in parameters or arguments

802203Jan 20 2011
Dear Friends,

I was trying to send E-Mail using the NTLM Authentication mechanism using the below program:

import java.util.Properties;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.PasswordAuthentication;
import java.util.Date;
import com.sun.mail.smtp.*;
public class MailerWithAuthentication
{
private String smtpServer;
private String fromEmailId;
private String toEmailId;
private String ccEmailId;
private String bccEmailId;
private String subject;
private String message;
private String host;


public MailerWithAuthentication(String toemail, String msg,String sub,String fromId,String host)
{

this.toEmailId = toemail;;
this.subject = sub;
this.message = msg;
this.fromEmailId=fromId;
this.host=host;
}

public void sendMail()
{
String mailContent = "";

try
{
Authenticator authenticator = new Authenticator();
Properties props = new Properties();
props.put("mail.smtp.host",this.host );
props.put("mail.smtp.port", "25");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.auth.mechanisms", "NTLM");
props.put("mail.smtp.auth.ntlm.flags", "0x00000200");
props.put("mail.smtp.auth.ntlm.domain","sal.ad");
props.put("mail.debug", "true");

Session session = Session.getDefaultInstance(props,authenticator);
Message msg = new MimeMessage(session);
MimeMessage message = new MimeMessage(session);
message.setContent("This is a test", "text/plain");
message.setFrom(new InternetAddress(this.fromEmailId));
message.addRecipient(Message.RecipientType.TO,new InternetAddress(this.toEmailId));
Transport.send(message);
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception in MailerThread : run: " + e.getMessage());
}
}


private class Authenticator extends javax.mail.Authenticator {
private PasswordAuthentication authentication;

public Authenticator() {


String username= "sal.ad\mailuser";
String password = "mail@123";

authentication = new PasswordAuthentication(username, password);

}

protected PasswordAuthentication getPasswordAuthentication() {
return authentication;
}
}
public static void main(String args[])
{
try
{
System.out.println(" Usage : java MailerWithAuthentication <To-Email> <Message> <Subject> <From-Email> <Mail-Server-IP>");
MailerWithAuthentication mailer = new MailerWithAuthentication (args[0],args[1],args[2],args[3],args[4]);
mailer.sendMail();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}

Following is the output while running the program:

DEBUG: JavaMail version 1.4ea
DEBUG: java.io.FileNotFoundException: /usr/java/jdk1.5.0_14/jre/lib/javamail.providers (No such file or directory)
DEBUG: !anyLoaded
DEBUG: not loading resource: /META-INF/javamail.providers
DEBUG: successfully loaded resource: /META-INF/javamail.default.providers
DEBUG: Tables of loaded providers
DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]}
DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]}
DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map
DEBUG: !anyLoaded
DEBUG: not loading resource: /META-INF/javamail.address.map
DEBUG: java.io.FileNotFoundException: /usr/java/jdk1.5.0_14/jre/lib/javamail.address.map (No such file or directory)
Mechanishm = NTLM
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "192.168.14.6", port 25, isSSL false
220 ****************************************************************************
DEBUG SMTP: connected to host "192.168.14.6", port: 25

EHLO
501 Syntax error in parameters or arguments -
HELO
501 Syntax error in parameters or arguments -
javax.mail.MessagingException: 501 Syntax error in parameters or arguments -

=================================
The error is :
EHLO
501 Syntax error in parameters or arguments -
HELO
501 Syntax error in parameters or arguments -
=================================

Please tell me what went wrong here. Is it due to any mistake in the program ?

Thanks in advance.
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Feb 17 2011
Added on Jan 20 2011
0 comments
770 views