You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Daxin Zuo <dz...@techexcel.com> on 2005/01/14 00:44:18 UTC
Authentication problem in Sending email from servlet. (tomcate 5)
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: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
RE: Sending email with zip file attach problem
Posted by Daxin Zuo <dz...@techexcel.com>.
Thanks for the reply. So I have to output the file.
If, in jave, there is no way to upload the file and attach the file
directly, it seems strange.
-----Original Message-----
From: Caroline Jen [mailto:jiapei_jen@yahoo.com]
Sent: Monday, January 24, 2005 11:10 AM
To: Tomcat Users List
Subject: Re: Sending email with zip file attach problem
It is an example of sending bulk mails with
attachment.
You have to write the uploaded file into a temporary
directory.
See the attachments. I hope the example could be
useful.
-Caroline
--- Daxin Zuo <dz...@techexcel.com> wrote:
>
> Hi,
> Please help. Any sugestion is welcome. In my web
> page, users send email
> with attachment, so upload is related. I can provide
> the file in either a
> byte[] array, or in an inputstream. I try to send
> the attachement with
> JavaMail(I know there is email api in Tomcat-Common.
> But I have no a good
> example).
>
> --- my code in a function in a servlet ---
> DiskFileUpload upload = new DiskFileUpload();
> List items = upload.parseRequest(request);
> Iterator itr = items.iterator();
> item = (FileItem) itr.next();
> .....
> //----- now it is a attachement. ----
> InputStream istrm= item.getInputStream();
> ... ....
> MimeBodyPart messageBodyPart = new MimeBodyPart();
> messageBodyPart.setDisposition(Part.INLINE);
> messageBodyPart.setContent(strBodyText,
> "text/plain");
> MimeMultipart multipart = new MimeMultipart();
> multipart.addBodyPart(messageBodyPart);
> messageBodyPart = new MimeBodyPart(istrm);
>
messageBodyPart.setDisposition(messageBodyPart.ATTACHMENT);
> messageBodyPart.addHeader("Content-Type",strMime);
> //strMime is correct
> messageBodyPart.setFileName(fileName);
> multipart.addBodyPart(messageBodyPart);
> ....
>
>
> NO metter what file it is, the attachement received
> is ATT00211.txt.
> I the file is a text file, the contents are correct.
> if the file is a small zip file, it adds the lines
> as following in attached
> file:
> Content-Type: application/zip; name=idmeta.zip
> Content-Disposition: attachment; filename=idmeta.zip
> Content-Transfer-Encoding: 7bit
>
> What's wrong? Please forward instruction.
>
>
>
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail:
> tomcat-user-help@jakarta.apache.org
>
>
__________________________________
Do you Yahoo!?
Yahoo! Mail - Helps protect you from nasty viruses.
http://promotions.yahoo.com/new_mail
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
Re: Sending email with zip file attach problem
Posted by Caroline Jen <ji...@yahoo.com>.
It is an example of sending bulk mails with
attachment.
You have to write the uploaded file into a temporary
directory.
See the attachments. I hope the example could be
useful.
-Caroline
--- Daxin Zuo <dz...@techexcel.com> wrote:
>
> Hi,
> Please help. Any sugestion is welcome. In my web
> page, users send email
> with attachment, so upload is related. I can provide
> the file in either a
> byte[] array, or in an inputstream. I try to send
> the attachement with
> JavaMail(I know there is email api in Tomcat-Common.
> But I have no a good
> example).
>
> --- my code in a function in a servlet ---
> DiskFileUpload upload = new DiskFileUpload();
> List items = upload.parseRequest(request);
> Iterator itr = items.iterator();
> item = (FileItem) itr.next();
> .....
> //----- now it is a attachement. ----
> InputStream istrm= item.getInputStream();
> ... ....
> MimeBodyPart messageBodyPart = new MimeBodyPart();
> messageBodyPart.setDisposition(Part.INLINE);
> messageBodyPart.setContent(strBodyText,
> "text/plain");
> MimeMultipart multipart = new MimeMultipart();
> multipart.addBodyPart(messageBodyPart);
> messageBodyPart = new MimeBodyPart(istrm);
>
messageBodyPart.setDisposition(messageBodyPart.ATTACHMENT);
> messageBodyPart.addHeader("Content-Type",strMime);
> //strMime is correct
> messageBodyPart.setFileName(fileName);
> multipart.addBodyPart(messageBodyPart);
> ....
>
>
> NO metter what file it is, the attachement received
> is ATT00211.txt.
> I the file is a text file, the contents are correct.
> if the file is a small zip file, it adds the lines
> as following in attached
> file:
> Content-Type: application/zip; name=idmeta.zip
> Content-Disposition: attachment; filename=idmeta.zip
> Content-Transfer-Encoding: 7bit
>
> What's wrong? Please forward instruction.
>
>
>
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail:
> tomcat-user-help@jakarta.apache.org
>
>
__________________________________
Do you Yahoo!?
Yahoo! Mail - Helps protect you from nasty viruses.
http://promotions.yahoo.com/new_mail
Sending email with zip file attach problem
Posted by Daxin Zuo <dz...@techexcel.com>.
Hi,
Please help. Any sugestion is welcome. In my web page, users send email
with attachment, so upload is related. I can provide the file in either a
byte[] array, or in an inputstream. I try to send the attachement with
JavaMail(I know there is email api in Tomcat-Common. But I have no a good
example).
--- my code in a function in a servlet ---
DiskFileUpload upload = new DiskFileUpload();
List items = upload.parseRequest(request);
Iterator itr = items.iterator();
item = (FileItem) itr.next();
.....
//----- now it is a attachement. ----
InputStream istrm= item.getInputStream();
... ....
MimeBodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setDisposition(Part.INLINE);
messageBodyPart.setContent(strBodyText, "text/plain");
MimeMultipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
messageBodyPart = new MimeBodyPart(istrm);
messageBodyPart.setDisposition(messageBodyPart.ATTACHMENT);
messageBodyPart.addHeader("Content-Type",strMime); //strMime is correct
messageBodyPart.setFileName(fileName);
multipart.addBodyPart(messageBodyPart);
....
NO metter what file it is, the attachement received is ATT00211.txt.
I the file is a text file, the contents are correct.
if the file is a small zip file, it adds the lines as following in attached
file:
Content-Type: application/zip; name=idmeta.zip
Content-Disposition: attachment; filename=idmeta.zip
Content-Transfer-Encoding: 7bit
What's wrong? Please forward instruction.
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
RE: Authentication problem in Sending email from servlet. (tomcate 5)
Posted by Daxin Zuo <dz...@techexcel.com>.
Sorry, no problem. The account password is wrong.
-----Original Message-----
From: Daxin Zuo [mailto:dzuo@techexcel.com]
Sent: Thursday, January 13, 2005 3:44 PM
To: Tomcat Users List
Subject: Authentication problem in Sending email from servlet. (tomcate
5)
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: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org