You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@commons.apache.org by Sravan Duggaraju <sa...@gmail.com> on 2005/08/29 17:14:27 UTC
Commons - email Help
Hi, I recently started Using commons email
(commons-email-SNAPSHOT.jar) for send mail functionality.I am facing
the following problems.
1)In the To field if i enter a wrong address of other domain it will
still send the mail, later it will inform me with "mail delivery
failure"...this is good. But it is not happening if i send a mail to
wrong email with in the same domain; it is immediately throwing
javax.mail.SendFailedException: Sending failed;
nested exception is:
javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
javax.mail.SendFailedException:
... User unknown
If I am not clear let me explain,
if i send a mail to wrongEmail@otherCompany.com then it is not
throwing any exception, later I am getting a email saying "delivery
failed"
but i send mail to wrongEmail@myCompany.com then it is throwing
runtime exception. and it is not sending to other correct address
too......How to avoid this?
2)This is related to my question 1.
In To field i entered correctEmail@mycompany.com and in CC i entered
wrongEmail@myCompany.com still it is not sending to correct address
and throughing an exception.
public static void sendMessage(String[] to,String[] cc, String from,
String subject, String content)
throws Exception {
SimpleEmail email = new SimpleEmail();
email.setHostName("mailserver.mycompany.com");
email.setDebug(true);
Collection toRecipients = new ArrayList();
Collection ccRecipients = new ArrayList();
//Create collection of To addresses
if(!SBIRUtils.isEmpty(to)){
for (int i = 0; i < to.length; i++)
{
toRecipients.add(new InternetAddress(to[i], null));
}
email.setTo(toRecipients);
}
// Create collection of To addresses
if(!SBIRUtils.isEmpty(cc)){
for (int i = 0; i < cc.length; i++)
{
ccRecipients.add(new InternetAddress(cc[i], null));
}
email.setCc(ccRecipients);
}
email.setFrom(from,from);
email.setSubject(subject);
email.setMsg(content);
email.send();
}
I apologize for the big mail.
I appreciate for any help
San
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org
Re: Commons - email Help
Posted by "Henning P. Schmiedehausen" <hp...@intermeta.de>.
Eric Pugh <ep...@upstate.com> writes:
It reacts on the SMTP dialog return codes. A local mail server is able
to resolve local user names:
% telnet mail.intermeta.de smtp
Trying 192.168.2.3...
Connected to mail.intermeta.de (192.168.2.3).
Escape character is '^]'.
220 mail.intermeta.de ESMTP Sendmail 8.12.11/8.12.11; Tue, 30 Aug 2005 14:23:21 +0200
HELO forge.intermeta.de
250 mail.intermeta.de Hello forge.intermeta.de [192.168.2.4], pleased to meet you
MAIL FROM:<hp...@intermeta.de>
250 2.1.0 <hp...@intermeta.de>... Sender ok
RCPT TO:<fo...@intermeta.de>
550 5.1.1 <fo...@intermeta.de>... User unknown
RCPT TO:<fo...@nothere.org>
250 2.1.5 <fo...@nothere.org>... Recipient ok (will queue)
Note that the server returns 550 for an unknown local user but 250 for
an unknown remote user (though the mail server for nothere.org will
probably reply with an error mail).
The only way without administrator intervention around this is setting
up a local proxy mail server (James e.g.) and sending through it. The
other way is to configure your mail server to accept all local user
names (trust me. You don't want this).
Yet better is, if the application is able to react on both kinds of
failures.
Regards
Henning (Recovering ISP Sysadmin)
>Humm...
>One thing is that commons-email is just a wrapper around the JavaMail
>api's, in an attempt to make them easier to use. commons-email
>doesn't do anything specifically fancy, like precheck if an email
>address works or not.
>I would suggest that you write a unit test doing the same thing, but
>using JavaMail directly, just to validate it. I'm guessing that the
>send() to a local email address does some sort of resolution right
>there, versus queueing it up.. Or, the response from the SMTP server
>is immediate, versus just queuing it up...
>Eric
>On Aug 29, 2005, at 11:14 AM, Sravan Duggaraju wrote:
>> Hi, I recently started Using commons email
>> (commons-email-SNAPSHOT.jar) for send mail functionality.I am facing
>> the following problems.
>>
>> 1)In the To field if i enter a wrong address of other domain it will
>> still send the mail, later it will inform me with "mail delivery
>> failure"...this is good. But it is not happening if i send a mail to
>> wrong email with in the same domain; it is immediately throwing
>>
>> javax.mail.SendFailedException: Sending failed;
>> nested exception is:
>> javax.mail.SendFailedException: Invalid Addresses;
>> nested exception is:
>> javax.mail.SendFailedException:
>> ... User unknown
>>
>> If I am not clear let me explain,
>>
>> if i send a mail to wrongEmail@otherCompany.com then it is not
>> throwing any exception, later I am getting a email saying "delivery
>> failed"
>>
>> but i send mail to wrongEmail@myCompany.com then it is throwing
>> runtime exception. and it is not sending to other correct address
>> too......How to avoid this?
>>
>>
>> 2)This is related to my question 1.
>> In To field i entered correctEmail@mycompany.com and in CC i entered
>> wrongEmail@myCompany.com still it is not sending to correct address
>> and throughing an exception.
>>
>>
>> public static void sendMessage(String[] to,String[] cc, String
>> from,
>> String subject, String content)
>> throws Exception {
>> SimpleEmail email = new SimpleEmail();
>> email.setHostName("mailserver.mycompany.com");
>> email.setDebug(true);
>> Collection toRecipients = new ArrayList();
>> Collection ccRecipients = new ArrayList();
>> //Create collection of To addresses
>> if(!SBIRUtils.isEmpty(to)){
>>
>> for (int i = 0; i < to.length; i++)
>> {
>> toRecipients.add(new InternetAddress(to[i], null));
>> }
>> email.setTo(toRecipients);
>> }
>> // Create collection of To addresses
>> if(!SBIRUtils.isEmpty(cc)){
>>
>> for (int i = 0; i < cc.length; i++)
>> {
>> ccRecipients.add(new InternetAddress(cc[i], null));
>> }
>> email.setCc(ccRecipients);
>> }
>> email.setFrom(from,from);
>> email.setSubject(subject);
>> email.setMsg(content);
>> email.send();
>> }
>>
>> I apologize for the big mail.
>>
>> I appreciate for any help
>> San
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: commons-user-help@jakarta.apache.org
>>
>>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: commons-user-help@jakarta.apache.org
--
Dipl.-Inf. (Univ.) Henning P. Schmiedehausen INTERMETA GmbH
hps@intermeta.de +49 9131 50 654 0 http://www.intermeta.de/
RedHat Certified Engineer -- Jakarta Turbine Development -- hero for hire
Linux, Java, perl, Solaris -- Consulting, Training, Development
4 - 8 - 15 - 16 - 23 - 42
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org
Re: Commons - email Help
Posted by Eric Pugh <ep...@upstate.com>.
Humm...
One thing is that commons-email is just a wrapper around the JavaMail
api's, in an attempt to make them easier to use. commons-email
doesn't do anything specifically fancy, like precheck if an email
address works or not.
I would suggest that you write a unit test doing the same thing, but
using JavaMail directly, just to validate it. I'm guessing that the
send() to a local email address does some sort of resolution right
there, versus queueing it up.. Or, the response from the SMTP server
is immediate, versus just queuing it up...
Eric
On Aug 29, 2005, at 11:14 AM, Sravan Duggaraju wrote:
> Hi, I recently started Using commons email
> (commons-email-SNAPSHOT.jar) for send mail functionality.I am facing
> the following problems.
>
> 1)In the To field if i enter a wrong address of other domain it will
> still send the mail, later it will inform me with "mail delivery
> failure"...this is good. But it is not happening if i send a mail to
> wrong email with in the same domain; it is immediately throwing
>
> javax.mail.SendFailedException: Sending failed;
> nested exception is:
> javax.mail.SendFailedException: Invalid Addresses;
> nested exception is:
> javax.mail.SendFailedException:
> ... User unknown
>
> If I am not clear let me explain,
>
> if i send a mail to wrongEmail@otherCompany.com then it is not
> throwing any exception, later I am getting a email saying "delivery
> failed"
>
> but i send mail to wrongEmail@myCompany.com then it is throwing
> runtime exception. and it is not sending to other correct address
> too......How to avoid this?
>
>
> 2)This is related to my question 1.
> In To field i entered correctEmail@mycompany.com and in CC i entered
> wrongEmail@myCompany.com still it is not sending to correct address
> and throughing an exception.
>
>
> public static void sendMessage(String[] to,String[] cc, String
> from,
> String subject, String content)
> throws Exception {
> SimpleEmail email = new SimpleEmail();
> email.setHostName("mailserver.mycompany.com");
> email.setDebug(true);
> Collection toRecipients = new ArrayList();
> Collection ccRecipients = new ArrayList();
> //Create collection of To addresses
> if(!SBIRUtils.isEmpty(to)){
>
> for (int i = 0; i < to.length; i++)
> {
> toRecipients.add(new InternetAddress(to[i], null));
> }
> email.setTo(toRecipients);
> }
> // Create collection of To addresses
> if(!SBIRUtils.isEmpty(cc)){
>
> for (int i = 0; i < cc.length; i++)
> {
> ccRecipients.add(new InternetAddress(cc[i], null));
> }
> email.setCc(ccRecipients);
> }
> email.setFrom(from,from);
> email.setSubject(subject);
> email.setMsg(content);
> email.send();
> }
>
> I apologize for the big mail.
>
> I appreciate for any help
> San
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-user-help@jakarta.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org