SMTP server in Java

Im am currently writing a mail client in java, and want to implement this. However, i havn't got the faintest idea on where to begin. Any push in the right direction would be greatly appreciated!
Thanks

For a SMTP server you might have a look at JAMES: http://james.apache.org/

Similar Messages

  • Getting problem when connecting to SMTP server through java code

    Hi all,
    I am getting problem when i am going to connect with "Kerio SMTP server" through java code. The error what i am getting is :
    "[16/Sep/2008 15:59:09] Sent: Queue-ID: 48cf8a73-000000f9, Recipient: <[email protected]>, Result: failed, Status: 5.3.2 554 5.0.0 Too many hops (101, max 100), message looping" when sending an email from [email protected]

    Looks like something is set up wrong on your server that's causing messages
    to be forwarded around a loop too many times without ever reaching the destination.
    For instance, if server A forwards to server B, and server B forwards to server A,
    this would happen.

  • How can i access gmail's smtp server using java mail api

    i m using java mail api to access gmails pop and smtp service to receive and send mail from ur gmail account. I m able to access gmails pop server using the ssl and port 995 , but i can not use its smtp server to which i m connecting using ssl on 465 port. It requires authentication code.
    if anybody can help me in this regard i m thnkful to him/her.
    thnks in advance.
    jogin desai

    Here's an example of using SSL + Authentication
    http://onesearch.sun.com/search/onesearch/index.jsp?qt=ssl+authentication&subCat=siteforumid%3Ajava43&site=dev&dftab=siteforumid%3Ajava43&chooseCat=javaall&col=developer-forums

  • Free SMTP server for Java mail testing

    Hi all,
    Are there any free SMTP servers that can be downloaded from the Net for Java mail. Thanks.
    Regards
    Ram

    I am sorry ..may be my question was not very clear. I do not have am SMTP host. I need an SMTP host to route emails...is that possible.
    If I have an SMTP host on my machine, then it will act as a router to route messages to other email severs like yahoo or hotmail.
    So the "from" will be a user from the SMTP host.i.e my machine user and the "to" will be some email "[email protected]" or "[email protected]".
    Is it posssible to route emails directly to any Yahoo or hotmail server using just java mail client?
    Thanks
    Regards
    RP

  • Start smtp server

    Hi!
    I am a beginner for JavaMail. I am following the tutorial of jGuru, 'Fundamnetals of JavaMail API'. I have done the following steps:
    1. Downloaded JavaMail 1.3, set the classpath to mail.jar.
    2. Downloaded JavaBeans Activation Framework and set classpath to activation.jar.
    Now when I run the demo program: msgsendsample, I get the message of 'No SMTP server'
    As there is one smtp.jar and also a pop3.jar file in the javamail/lib directory, I put them too into classpath. But putting SMTP.server value as localhost:25 does not help. Still i get the message of 'No SMTP server'.
    Can anybody help me please on how to set up the smtp and pop servers coming along with javamail-1.3. I would like to avoid downloading another smtp server.
    Thanks
    Umesh

    you need to specify a smtp server the java mail may use to send emails. somewhere in the code must be a variable called something like smtp server where you need to specify the smtp server. this should be an address like smtp.myprovider.com

  • How do i create a mail box in the SMTP server thru a java program

    How do i create a mail box in the SMTP server thru a java program. If it is possible thru a java program.pls suggest a mail server compatible for the above possibility to work.
    pls help ....

    Please let me know if it is not at all possible to
    create a user account automatically thru a program
    (java) in a mail server... how does yahoo work
    then..does he manually add a user to the mail
    server...By talking to a web server not a mail server.
    >
    Is not there any mail server that will allow us to
    create mailboxes for my java program.. how do the
    other web account services work..
    As I said mail servers do have management interfaces. You need to find one and then determine what the management interface is.

  • Create a java SMTP Server on localhost

    URGENT !!!
    Can Anybody here help me to find out the ways to create a SMTP server (usinf RFC 2821 )which can connect to any email client such as Outlook Express?...
    thanks..

    must stick to java implementation? why not trying one of those free smtp server avaiable?
    i use 602 Lan Suite, simple enough

  • Java Mail,SMTP server not starting,help required urgently

    Hi i have been working on java mail .Yesterday it was working ok but today suddenely i am getting this thing.its not starting the smtp server i guess,just exiting and get the command prompt ..dont know what to do.help required how to go about this error
    am pasting the debug information.please check and let me know
    the compilation ,smtp server and others are all valid
    thanks
    Microsoft Windows XP [Version 5.1.2600]
    (C) Copyright 1985-2001 Microsoft Corp.
    C:\Documents and Settings\Pavan>cd C:\Program Files\Java\jdk1.5.0_07\bin
    C:\Program Files\Java\jdk1.5.0_07\bin>javac jdbcExample3.java
    C:\Program Files\Java\jdk1.5.0_07\bin>java jdbcExample3 smtpserver address
    DEBUG: JavaMail version 1.4ea
    DEBUG: java.io.FileNotFoundException: C:\Program Files\Java\jdk1.5.0_07\jre\lib\
    javamail.providers (The system cannot find the file specified)
    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 Microsyste
    ms, Inc], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com
    .sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPSSLSt
    ore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsyst
    ems, Inc], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.su
    n.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=jav
    ax.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.POP
    3Store,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[STOR
    E,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], smtps=javax.mail.Prov
    ider[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.S
    MTPTransport,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: C:\Program Files\Java\jdk1.5.0_07\jre\lib\
    javamail.address.map (The system cannot find the file specified)
    C:\Program Files\Java\jdk1.5.0_07\bin>

    The debug output doesn't show an obvious problem. You're
    going to have to actually debug your program. A debugger
    might be helpful.

  • Java mail(fetch default SMTP server address)

    I am writting a code to send an email using Java Mail API.
    I have manged what I wanted(send a mail with an attachment)
    But in my code I have hard coded the SMTP server address,that is what I dont want to do .Is there anything in java which can fetch the default SMTP server address ?

    Let me send the code itself to make it clear
    Here the host is hard coded to10.1.1.5
    I dont want that ,rather I would like my code itself to fetch the host
    package javamail;
    import java.util.*;
    import java.io.*;
    import javax.mail.*;
    import javax.mail.internet.*;
    import javax.activation.*;
    public class SendMailUsage {
    public static void main(String[] args) {
    // SUBSTITUTE YOUR EMAIL ADDRESSES HERE!!!
    String to = "[email protected]";
    String from = "[email protected]";
    // SUBSTITUTE YOUR ISP'S MAIL SERVER HERE!!!
    String host = "10.1.1.5";
    // Create properties for the Session
    Properties props = new Properties();
    // If using static Transport.send(),
    // need to specify the mail server here
    props.put("mail.smtp.host", host);
    // To see what is going on behind the scene
    props.put("mail.debug", "true");
    // Get a session
    Session session = Session.getInstance(props);
    try {
    // Get a Transport object to send e-mail
    Transport bus = session.getTransport("smtp");
    // Connect only once here
    // Transport.send() disconnects after each send
    // Usually, no username and password is required for SMTP
    bus.connect();
    //bus.connect("smtpserver.yourisp.net", "username", "password");
    // Instantiate a message
    Message msg = new MimeMessage(session);
    // Set message attributes
    msg.setFrom(new InternetAddress(from));
    InternetAddress[] address = {new InternetAddress(to)};
    msg.setRecipients(Message.RecipientType.TO, address);
    // Parse a comma-separated list of email addresses. Be strict.
    msg.setRecipients(Message.RecipientType.CC,
    InternetAddress.parse(to, true));
    // Parse comma/space-separated list. Cut some slack.
    msg.setRecipients(Message.RecipientType.BCC,
    InternetAddress.parse(to, false));
    msg.setSubject("Test E-Mail through Java");
    msg.setSentDate(new Date());
    // Set message content and send
    setTextContent(msg);
    msg.saveChanges();
    bus.sendMessage(msg, address);
    setMultipartContent(msg);
    msg.saveChanges();
    bus.sendMessage(msg, address);
    setFileAsAttachment(msg, "D:/ketan.txt");
    msg.saveChanges();
    bus.sendMessage(msg, address);
    setHTMLContent(msg);
    msg.saveChanges();
    bus.sendMessage(msg, address);
    bus.close();
    catch (MessagingException mex) {
    // Prints all nested (chained) exceptions as well
    mex.printStackTrace();
    // How to access nested exceptions
    while (mex.getNextException() != null) {
    // Get next exception in chain
    Exception ex = mex.getNextException();
    ex.printStackTrace();
    if (!(ex instanceof MessagingException)) break;
    else mex = (MessagingException)ex;
    // A simple, single-part text/plain e-mail.
    public static void setTextContent(Message msg) throws MessagingException {
    // Set message content
    String mytxt = "This is a test of sending a " +
    "plain text e-mail through Java.\n" +
    "Here is line 2.";
    msg.setText(mytxt);
    // Alternate form
    msg.setContent(mytxt, "text/plain");
    // A simple multipart/mixed e-mail. Both body parts are text/plain.
    public static void setMultipartContent(Message msg) throws MessagingException {
    // Create and fill first part
    MimeBodyPart p1 = new MimeBodyPart();
    p1.setText("This is part one of a test multipart e-mail.");
    // Create and fill second part
    MimeBodyPart p2 = new MimeBodyPart();
    // Here is how to set a charset on textual content
    p2.setText("This is the second part", "us-ascii");
    // Create the Multipart. Add BodyParts to it.
    Multipart mp = new MimeMultipart();
    mp.addBodyPart(p1);
    mp.addBodyPart(p2);
    // Set Multipart as the message's content
    msg.setContent(mp);
    // Set a file as an attachment. Uses JAF FileDataSource.
    public static void setFileAsAttachment(Message msg, String filename)
    throws MessagingException {
    // Create and fill first part
    MimeBodyPart p1 = new MimeBodyPart();
    p1.setText("This is part one of a test multipart e-mail." +
    "The second part is file as an attachment");
    // Create second part
    MimeBodyPart p2 = new MimeBodyPart();
    // Put a file in the second part
    FileDataSource fds = new FileDataSource(filename);
    p2.setDataHandler(new DataHandler(fds));
    p2.setFileName(fds.getName());
    // Create the Multipart. Add BodyParts to it.
    Multipart mp = new MimeMultipart();
    mp.addBodyPart(p1);
    mp.addBodyPart(p2);
    // Set Multipart as the message's content
    msg.setContent(mp);
    // Set a single part html content.
    // Sending data of any type is similar.
    public static void setHTMLContent(Message msg) throws MessagingException {
    String html = "<html><head><title>" +
    msg.getSubject() +
    "</title></head><body><h1>" +
    msg.getSubject() +
    "</h1><p>This is a test of sending an HTML e-mail" +
    " through Java.</body></html>";
    // HTMLDataSource is an inner class
    msg.setDataHandler(new DataHandler(new HTMLDataSource(html)));
    * Inner class to act as a JAF datasource to send HTML e-mail content
    static class HTMLDataSource implements DataSource {
    private String html;
    public HTMLDataSource(String htmlString) {
    html = htmlString;
    // Return html string in an InputStream.
    // A new stream must be returned each time.
    public InputStream getInputStream() throws IOException {
    if (html == null) throw new IOException("Null HTML");
    return new ByteArrayInputStream(html.getBytes());
    public OutputStream getOutputStream() throws IOException {
    throw new IOException("This DataHandler cannot write HTML");
    public String getContentType() {
    return "text/html";
    public String getName() {
    return "JAF text/html dataSource to send e-mail only";
    } //End of class

  • How do I connect to an SMTP server that requires a username and password?

    Hi,
    I am currently working on a project for university which requires me to send and receive email. I was until this week able to send mail no problem, but now the SMTP server has been upgraded so that each time a mail is sent it requires the username and password.
    Ideally the connection should be made using TLS/SSL, and not use the Authenticator method. I want to pass the username and password directly if possible.
    I've been trying to use the following but have been getting handshake, and other exceptions:
    SMTPSSLTransport smtpSSLtransport = new SMTPSSLTransport(session,
                        new URLName("smtp", smtpHost, port, null-File,
                        "USERNAME", "PASSWORD"));
            smtpSSLtransport.setStartTLS(true);
            smtpSSLtransport.connect(new Socket(smtpHost, port));
            smtpSSLtransport.sendMessage(smtpMessage,                                                     message.getAllRecipients());
            smtpSSLtransport.close();Can anyone correct this piece of code for me or point me in the right direction of what classes and methods I should be using?
    Many thanks in advance,
    Gordon

    I always wonder what misleads people to do things this way.
    Was there some example you saw that suggested that instantiating
    an SMTPSSLTransport was the correct approach? I hope not.
    See the smtpsend.java demo program for how to use SMTP
    authentication. If you need to use SSL, see the SSLNOTES.txt
    file for hints on using the "smtps" protocol. smtpsend.java also
    illustrates use of SSL, but you'll need to fix a bug in it to use the
    correct property names ("mail.smtps.auth", etc.).

  • How to check whether a SMTP server is supporting Authentication or not

    Hi All,
    We are using Java Mail API 1.3.1/1.3.2 to send the messages. some of the SMTP servers that we use are supporting authentication and some of them are not.
    As the SMTPTransport.supportsAuthentication() is not available only in Java mail API 1.4.1, we are identifying the SMTP server whether it is supporting authentication or not in the following way.
    Socket clientSocket = null;
    InetSocketAddress socketAddress = null;
    OutputStream outStream = null;
    InputStream inStream = null;
    InputStreamReader inReader = null;
    OutputStreamWriter outWritter = null;
    try
    clientSocket = new Socket();
    socketAddress = new InetSocketAddress(host, port);
    clientSocket.connect(socketAddress, timeout*1000); // convert timeout from second to miliseconds
    // 1: now try to execute the given command by passing that on Out-Socket
    outStream = clientSocket.getOutputStream();
    outWritter = new OutputStreamWriter(outStream);
    outWritter.write("ehlo localhost" +"\n");
    outWritter.flush();
    // 2:Read output of above command
    inStream = clientSocket.getInputStream();
    inReader = new InputStreamReader(inStream);
    // This array limit would be fine to get "AUTH" extension of smtp server.
    char[] arr = new char[16384];
    StringBuilder strBuilder = new StringBuilder();
    inReader.read(arr);
    for(int i=0; i< arr.length; i++)
    strBuilder.append(arr);
    System.out.println(METHOD_NAME + "SMTP server response for ehlo localhost command ->"+strBuilder.toString());
    // The output EHLO command comes like below :
    // ehlo localhost
    // 250-ap9058pc.us.oracle.com Hello ap614ses.us.oracle.com [130.35.33.43], pleased to meet you
    // 250-ENHANCEDSTATUSCODES
    // 250-PIPELINING
    // 250-8BITMIME
    // 250-SIZE
    // 250-DSN
    // 250-ETRN
    // 250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN
    // Since for XATUH ( like internal IP),
    // we are not sure, so just checking for AUTH capability.
    supported = strBuilder.indexOf("250-AUTH") >=0? true : false;
    As shown in above code, we are issuing 'ehlo localhost' command to SMTP server, if the response i. 'strBuilder' contains '250-AUTH' then we are assuming that it is supporting authentication.
    But for one SMTP server the 'strBuilder' value is showing as '220 mail.durofelguera.com ESMTP Service (Lotus Domino Release 8.5.2) ready at Thu, 16 Feb 2012 13:57:20 +0100' only which is socket connection output but not 'ehlo localhost' command output.
    where as the telnet test output is showing correct only as below
    # telnet mail.durofelguera.com 25
    Trying 172.20.16.65...
    Connected to mail.durofelguera.com.
    Escape character is '^]'.
    220 mail.durofelguera.com ESMTP Service (Lotus Domino Release 8.5.2) ready
    at 0
    ehlo localhost
    250-mail.durofelguera.com Hello localhost ([172.20.15.209]), pleased to meet
    yu
    250-HELP
    250-AUTH LOGIN
    250-SIZE
    250 PIPELINING
    AUTH LOGIN
    The question is why the 'strBuilder' is not showing 'ehlo localhost' conad output where as the telnet test results are showing correctly, what is going wrong here?
    Is there any other way to check that whether SMTP server is supporting authentication or not?
    Edited by: sarojak on Feb 19, 2012 10:11 PM

    There are so many things wrong with your code, it's hard to know where to start...
    Basically, the problem is not as simple as you think it is.
    For example, some servers might not allow authentication until you've issued
    the STARTTLS command.
    These days, essentially all servers allow authentication. You're probably better
    off just assuming the server supports.

  • Configuration error when saving SMTP server

    I am configuring CUP 5.3 (SP06).  When I put in our SMTP server, I get the following error:
    " Action failed. An unknown error occurred while performing the operation. "
    It looks like this screen was changed with SP06.  I am not filling out anything under "Enter Email Notification Sender" or under "Application URL" (which seems to be new fields).
    Here is what the log says:
    2009-03-18 16:23:39,339 [SAPEngine_Application_Thread[impl:3]_39] ERROR com.virsa.ae.configuration.actions.SMTPServerNameAction
    java.lang.StringIndexOutOfBoundsException: String index out of range: -1
         at java.lang.String.substring(String.java:1444)
         at com.virsa.ae.commons.utils.URLHelper.initialize(URLHelper.java:430)
         at com.virsa.ae.configuration.bo.SMTPServerNameBO.saveSMTPServerName(SMTPServerNameBO.java:106)
         at com.virsa.ae.configuration.actions.SMTPServerNameAction.saveSMTPServerName(SMTPServerNameAction.java:76)
         at com.virsa.ae.configuration.actions.SMTPServerNameAction.execute(SMTPServerNameAction.java:51)
         at com.virsa.ae.commons.utils.framework.NavigationEngine.execute(NavigationEngine.java:271)
         at com.virsa.ae.commons.utils.framework.servlet.AEFrameworkServlet.service(AEFrameworkServlet.java:432)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
    Thank you for your help.

    Hi Peggy,
    This is a known bug in AC 5.3 SP6. SAP has added fields for administrator email address, application URL and redirection URL. Even though application URL and redirection URL do not show up as manadatory fields but they are required to save the configuration. To get pass through this error, just provide anything in those 2 textboxes with some dummy email address in administrator email address textbox. You should be able to save it now.
    This is being fixed in SP7 which should release somewhere around end of March.
    Please check this similar thread:
    CUP SMTP server error
    Regards,
    Alpesh

  • Send a mail using smtp server

    i'm new to java mail api
    i'm using a machine which is in a network under a proxy server and a fire wall.our network has a smtp server.
    i tried to send a amil using a smtp server.
    my codes are
    package mailtest;
    import java.util.Properties;
    import javax.mail.Session;
    import javax.mail.internet.MimeMessage;
    import javax.mail.internet.InternetAddress;
    import javax.mail.MessagingException;
    import java.io.*;
    import javax.mail.Message;
    import javax.mail.Transport;
    public class FirstMail {
    String mailServer;
    String host;
    public FirstMail() {
    //global
    mailServer="mail.smtp.host";
    host="mail.informatics.lk";
    // Get system properties
    Properties myProperties=new Properties() ;
    // Setup mail server
    myProperties.put(mailServer,host) ;
    myProperties.put("mail.smtp.auth", "true");
    // Get session
    Session myMailSession;
    myMailSession=Session.getInstance(myProperties,null);
    //myMailSession.setDebug(true);
    // Define message
    MimeMessage message=new MimeMessage(myMailSession);
    // Set the from address
    //try {
    try {
    message.setFrom(new InternetAddress("[email protected]","CHANAKA ARUNA"));
    catch (UnsupportedEncodingException ex1) {
    System.out.println("CAN NOT SEND FROM");
    catch (MessagingException ex1) {
    System.out.println("CAN NOT SEND FROM");
    // Set the to address
    try {
    message.addRecipient(Message.RecipientType.TO, new InternetAddress("[email protected]"));
    catch (MessagingException ex) {
    System.out.println("CAN NOT SEND TO");
    // Set the subject
    try {
    message.setSubject("RE:$$$$");
    catch (MessagingException ex2) {
    System.out.println("WRONG SUBJECT");
    // Set the content
    try {
    message.setText("***chanaka***");
    catch (MessagingException ex3) {
    System.out.println("WRONG MESSAGE");
    // Send message
    try {
    Transport.send(message);
    System.out.println("MESSAGE SENT");
    catch (MessagingException ex4) {
    System.out.println("UNABLE TO SEND");
    public static void main(String[] args) {
    FirstMail firstMail1 = new FirstMail();
    it was not work, but when i use the ip address of smtp server instead of mail.informatics.lk at
    host="mail.informatics.lk";
    it worked properly and i could get a mail to my yahoo address.
    but i have seen some have used host name like
    host="smtp.snet.yahoo.com";
    how can i do it using yahoo smtp server.
    also i want to know whethr i can use that our smtp server from a computer outside of the net work.
    pls help me
    txs lot.

    Almost certainly, if you are behind a proxy server it will only be a proxy for HTTP traffic, and you will not be able to communicate with an SMTP server outside your network. But you have your own SMTP server so why would you want to?
    If you have a proxy server and an SMTP server then there will be people responsible for supporting them. Talk to those people and ask them to give you the basic explanation of networking that you need.

  • How to configure the smtp server..

    i had an error when running the java mail program..
    this is my program
    import javax.mail.*;
    import javax.mail.internet.*;
    import javax.activation.*;
    import java.io.*;
    import java.util.Properties;
    public class MailClient
    public void sendMail(String mailServer, String from, String to,
    String subject, String messageBody,
    String[] attachments) throws
    MessagingException, AddressException
    // Setup mail server
    Properties props = System.getProperties();
    props.put("mail.smtp.host", mailServer);
    // Get a mail session
    Session session = Session.getDefaultInstance(props, null);
    // Define a new mail message
    Message message = new MimeMessage(session);
    message.setFrom(new InternetAddress(from));
    message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
    message.setSubject(subject);
    // Create a message part to represent the body text
    BodyPart messageBodyPart = new MimeBodyPart();
    messageBodyPart.setText(messageBody);
    //use a MimeMultipart as we need to handle the file attachments
    Multipart multipart = new MimeMultipart();
    //add the message body to the mime message
    multipart.addBodyPart(messageBodyPart);
    // add any file attachments to the message
    // addAtachments(attachments, multipart);
    // Put all message parts in the message
    message.setContent(multipart);
    // Send the message
    Transport.send(message);
    protected void addAtachments(String[] attachments, Multipart multipart)
    throws MessagingException, AddressException
    for(int i = 0; i<= attachments.length -1; i++)
    String filename = attachments;
    MimeBodyPart attachmentBodyPart = new MimeBodyPart();
    //use a JAF FileDataSource as it does MIME type detection
    DataSource source = new FileDataSource(filename);
    attachmentBodyPart.setDataHandler(new DataHandler(source));
    //assume that the filename you want to send is the same as the
    //actual file name - could alter this to remove the file path
    attachmentBodyPart.setFileName(filename);
    //add the attachment
    multipart.addBodyPart(attachmentBodyPart);
    public static void main(String[] args)
    try
    MailClient client = new MailClient();
    String server="smtp.canvasindia.com";
    String from="[email protected]";
    String to = "[email protected]";
    String subject="Test";
    String message="Testing";
    String[] filenames ={"c:/A.java"};
    client.sendMail(server,from,to,subject,message,filenames);
    catch(Exception e)
    e.printStackTrace(System.out);
    the error is .................
    javax.mail.SendFailedException: Invalid Addresses;
    nested exception is:
    com.sun.mail.smtp.SMTPAddressFailedException: 553 Attack detected from p
    ool 59.144.8.116. <http://unblock.secureserver.net/?ip=59.144.8.*>
    at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1196)
    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:584)
    at javax.mail.Transport.send0(Transport.java:169)
    at javax.mail.Transport.send(Transport.java:98)
    at MailClient.sendMail(MailClient.java:47)
    at MailClient.main(MailClient.java:84)
    Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 553 Attack detected fro
    m pool 59.144.8.116. <http://unblock.secureserver.net/?ip=59.144.8.*>
    at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1047)
    ... 5 more
    how to configure the smtp server in my machine..
    please guide me...

    This uses gmail account, and gmail smtp
    * MailSender.java
    * Created on 14 November 2006, 17:07
    * This class is used to send mails to other users
    package jmailer;
    * @author Abubakar Gurnah
    import javax.mail.*;
    import javax.mail.internet.*;
    import java.util.*;
    public class MailSender{
        private String d_email,d_password;
         * This example is for gmail, you can use any smtp server
         * @param d_email --> your gmail account e.g. [email protected]
         * @param d_password  --> your gmail password
         * @param d_host --> smtp.gmail.com
         * @param d_port --> 465
         * @param m_to --> [email protected]
         * @param m_subject --> Subject of the message
         * @param m_text --> The main message body
        public String send(String d_email,String d_password,String d_host,String d_port,
                String m_from,String m_to,String m_subject,String m_text ) {
            this.d_email=d_email;
            this.d_password=d_password;
            Properties props = new Properties();
            props.put("mail.smtp.user", d_email);
            props.put("mail.smtp.host", d_host);
            props.put("mail.smtp.port", d_port);
            props.put("mail.smtp.starttls.enable","true");
            props.put("mail.smtp.auth", "true");
            //props.put("mail.smtp.debug", "true");
            props.put("mail.smtp.socketFactory.port", d_port);
            props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
            props.put("mail.smtp.socketFactory.fallback", "false");
            SecurityManager security = System.getSecurityManager();
            try {
                Authenticator auth = new SMTPAuthenticator();
                Session session = Session.getInstance(props, auth);
                //session.setDebug(true);
                MimeMessage msg = new MimeMessage(session);
                msg.setText(m_text);
                msg.setSubject(m_subject);
                msg.setFrom(new InternetAddress(m_from));
                msg.addRecipient(Message.RecipientType.TO, new InternetAddress(m_to));
                Transport.send(msg);
                return "Successful";
            } catch (Exception mex) {
                mex.printStackTrace();
            return "Fail";
        //public static void main(String[] args) {
        //    MailSender blah = new MailSender();
        private class SMTPAuthenticator extends javax.mail.Authenticator {
            public PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(d_email, d_password);
    }

  • How to connect to my provider SMTP server?

    hi,
    i traying to connect to SMTP of my net provider, but i have problem like this:
    DEBUG: setDebug: JavaMail version 1.4ea
    DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
    DEBUG SMTP: useEhlo true, useAuth false
    DEBUG SMTP: trying to connect to host "mailhost", port 25, isSSL false
    javax.mail.MessagingException: Unknown SMTP host: mailhost
    e.getCause() = java.net.UnknownHostException: mailhost
    HELP plz :/

    The name of your "net provider" is probably not "mailhost".
    Set the mail.smtp.host property to the name of the SMTP
    server you want to connect to.

Maybe you are looking for