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]