Hi,
   In my web page, user sends email with attachment, so upload is related. I
load the file in a byte array, and try to send with JavaMail(I know there is
Mail api in Tomcat-Common. But I have no a good example).

 The related code is copied at the end.
 The email serve needs no user-name and password, because the C++ program
sends email without authentication.

 if I set prop.put("mail.smtp.auth", "false");
 Exception: SendEmail Error: javax.mail.AuthenticationFailedException

 If I set to Password and username to "", or set the user name to the
From-Email address:
SendEmail Error: com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0
Authentication required

Please tell me what's wrong. Thanks.

  import javax.mail.*;
  import javax.mail.internet.*;
  import javax.activation.*;
  import org.apache.commons.net.smtp.*;
  import org.apache.commons.net.io.Util;
  ....

  Properties prop = System.getProperties();
  prop.put("mail.smtp.host", szServer);
  prop.put("mail.smtp.from", strFrom);
  prop.put("mail.transport.protocol", "SMTP");
  final String user = tool.isnull2(szAccount)==""?
                                 strFrom:                // From email Address
                                 tool.isnull2(szAccount);// Account of the user.
  final String pwd = tool.isnull2(szPassword);
  Authenticator auth = null;

        prop.put("mail.smtp.auth", "true");
        auth = new Authenticator (){
          public PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(user, pwd);
          }
        };

  Session ses1=Session.getInstance(prop,auth);

  MimeMessage msg = new MimeMessage(ses1);
  msg.setFrom(new InternetAddress(strFrom));
  String[] Recipts = strRecipts.split(",");
  for( int k=0; k < Recipts.length; k++)
        msg.addRecipient(Message.RecipientType.TO,
                       new InternetAddress(Recipts[k]));
  if (!tool.isnull(strCcRecipts)){
        Recipts = strCcRecipts.split(",");
        for (int k = 0; k < Recipts.length; k++)
          msg.addRecipient(Message.RecipientType.CC,
                         new InternetAddress(Recipts[k]));
  }

  msg.setSubject(strSubject);
  msg.setHeader("X-Mailer", "Java Mail");
  MimeBodyPart  messageBodyPart = new MimeBodyPart();
  messageBodyPart.setDisposition(Part.INLINE);
  messageBodyPart.setContent(strBodyText, "text/plain");
  MimeMultipart multipart = new MimeMultipart();
  multipart.addBodyPart(messageBodyPart);

  if (AttacheFileSize > 0) {  // one attache file only.
        messageBodyPart = new MimeBodyPart();
        messageBodyPart.setDataHandler(new DataHandler(
                 ByteArrayOfFile,     // byte[] it holds the file contents
                 myFileMimeType));    //String, mime type of the file
        messageBodyPart.setFileName(astrAttach);
        multipart.addBodyPart(messageBodyPart);
  }

  msg.setContent(multipart);
  msg.setSentDate(new Date());
  Transport.send(msg);


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to