You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by Romin Irani <ri...@insyncinfo.com> on 2002/08/07 19:56:16 UTC

[PATCH] - org.apache.ant.tools.listener.MailLogger

CURRENT ISSUE
-------------
There is no way for providing the SMTP port to the MailLogger. The
MailLogger uses the default constructor for MailMessage as a result of which
it is imperative that the SMTP port be running only on 25 (DEFAULT_PORT).

It would be good to provide an additional parameter in the
MailLogger.properties called MailLogger.port, so that one can also specify
the SMTP port # instead of just the host name (MailLogger.mailhost)

PATCH DETAILS
-------------
1) The MailLogger now checks for a property named MailLogger.port. If it is
not present, it defaults to MailMessage.DEFAULT_PORT.

2) The sendMail signature is now changed to accomodate a "port" parameter
also.

3) The sendMail method now does:
        MailMessage mailMessage = new MailMessage(mailhost, port);

   instead of
        MailMessage mailMessage = new MailMessage(mailhost);

Thanks,
Romin.


Re: [PATCH] - org.apache.ant.tools.listener.MailLogger

Posted by Erik Hatcher <ja...@ehatchersolutions.com>.
Oh, one more thing... how about a documentation patch to the 
listeners/loggers docs file?  :))  docs/manual/listeners.html

Romin Irani wrote:
> CURRENT ISSUE
> -------------
> There is no way for providing the SMTP port to the MailLogger. The
> MailLogger uses the default constructor for MailMessage as a result of which
> it is imperative that the SMTP port be running only on 25 (DEFAULT_PORT).
> 
> It would be good to provide an additional parameter in the
> MailLogger.properties called MailLogger.port, so that one can also specify
> the SMTP port # instead of just the host name (MailLogger.mailhost)
> 
> PATCH DETAILS
> -------------
> 1) The MailLogger now checks for a property named MailLogger.port. If it is
> not present, it defaults to MailMessage.DEFAULT_PORT.
> 
> 2) The sendMail signature is now changed to accomodate a "port" parameter
> also.
> 
> 3) The sendMail method now does:
>         MailMessage mailMessage = new MailMessage(mailhost, port);
> 
>    instead of
>         MailMessage mailMessage = new MailMessage(mailhost);
> 
> Thanks,
> Romin.
> 
> 
> 
> ------------------------------------------------------------------------
> 
> Index: jakarta-ant/src/main/org/apache/tools/ant/listener/MailLogger.java
> ===================================================================
> RCS file: /home/cvspublic/jakarta-ant/src/main/org/apache/tools/ant/listener/MailLogger.java,v
> retrieving revision 1.11
> diff -u -r1.11 MailLogger.java
> --- jakarta-ant/src/main/org/apache/tools/ant/listener/MailLogger.java	25 Jul 2002 15:21:03 -0000	1.11
> +++ jakarta-ant/src/main/org/apache/tools/ant/listener/MailLogger.java	7 Aug 2002 14:08:05 -0000
> @@ -72,6 +72,7 @@
>   *  results. The following Project properties are used to send the mail.
>   *  <ul>
>   *    <li> MailLogger.mailhost [default: localhost] - Mail server to use</li>
> + *    <li> MailLogger.port [default: 25] - Default port for SMTP </li>
>   *
>   *    <li> MailLogger.from [required] - Mail "from" address</li>
>   *    <li> MailLogger.failure.notify [default: true] - Send build failure
> @@ -97,6 +98,7 @@
>   *         <a href="mailto:ehatcher@apache.org">ehatcher@apache.org</a>
>   */
>  public class MailLogger extends DefaultLogger {
> +
>      /** Buffer in which the message is constructed prior to sending */
>      private StringBuffer buffer = new StringBuffer();
>  
> @@ -150,13 +152,15 @@
>              }
>  
>              String mailhost = getValue(properties, "mailhost", "localhost");
> +            int port = Integer.parseInt(getValue(properties,"port",String.valueOf(MailMessage.DEFAULT_PORT)));
> +
>              String from = getValue(properties, "from", null);
>  
>              String toList = getValue(properties, prefix + ".to", null);
>              String subject = getValue(properties, prefix + ".subject",
>                      (success) ? "Build Success" : "Build Failure");
>  
> -            sendMail(mailhost, from, toList, subject, buffer.toString());
> +            sendMail(mailhost, port, from, toList, subject, buffer.toString());
>          } catch (Exception e) {
>              System.out.println("MailLogger failed to send e-mail!");
>              e.printStackTrace(System.err);
> @@ -207,15 +211,16 @@
>       *  Send the mail
>       *
>       * @param  mailhost         mail server
> +     * @param  port             mail server port number
>       * @param  from             from address
>       * @param  toList           comma-separated recipient list
>       * @param  subject          mail subject
>       * @param  message          mail body
>       * @exception  IOException  thrown if sending message fails
>       */
> -    private void sendMail(String mailhost, String from, String toList,
> +    private void sendMail(String mailhost, int port, String from, String toList,
>                            String subject, String message) throws IOException {
> -        MailMessage mailMessage = new MailMessage(mailhost);
> +        MailMessage mailMessage = new MailMessage(mailhost, port);
>  
>          mailMessage.from(from);
>  
> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> --
> To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [PATCH] - org.apache.ant.tools.listener.MailLogger

Posted by Erik Hatcher <ja...@ehatchersolutions.com>.
Romin,

I have applied your patch (actually I had to do the changes manually as 
I could not get 'patch' to work properly - still figuring out how to 
drive this OS X thing).

Please check the HEAD CVS version to make sure it works ok for you.

Thanks for the nicely done patch submission.

	Erik


Romin Irani wrote:
> CURRENT ISSUE
> -------------
> There is no way for providing the SMTP port to the MailLogger. The
> MailLogger uses the default constructor for MailMessage as a result of which
> it is imperative that the SMTP port be running only on 25 (DEFAULT_PORT).
> 
> It would be good to provide an additional parameter in the
> MailLogger.properties called MailLogger.port, so that one can also specify
> the SMTP port # instead of just the host name (MailLogger.mailhost)
> 
> PATCH DETAILS
> -------------
> 1) The MailLogger now checks for a property named MailLogger.port. If it is
> not present, it defaults to MailMessage.DEFAULT_PORT.
> 
> 2) The sendMail signature is now changed to accomodate a "port" parameter
> also.
> 
> 3) The sendMail method now does:
>         MailMessage mailMessage = new MailMessage(mailhost, port);
> 
>    instead of
>         MailMessage mailMessage = new MailMessage(mailhost);
> 
> Thanks,
> Romin.
> 
> 
> 
> ------------------------------------------------------------------------
> 
> Index: jakarta-ant/src/main/org/apache/tools/ant/listener/MailLogger.java
> ===================================================================
> RCS file: /home/cvspublic/jakarta-ant/src/main/org/apache/tools/ant/listener/MailLogger.java,v
> retrieving revision 1.11
> diff -u -r1.11 MailLogger.java
> --- jakarta-ant/src/main/org/apache/tools/ant/listener/MailLogger.java	25 Jul 2002 15:21:03 -0000	1.11
> +++ jakarta-ant/src/main/org/apache/tools/ant/listener/MailLogger.java	7 Aug 2002 14:08:05 -0000
> @@ -72,6 +72,7 @@
>   *  results. The following Project properties are used to send the mail.
>   *  <ul>
>   *    <li> MailLogger.mailhost [default: localhost] - Mail server to use</li>
> + *    <li> MailLogger.port [default: 25] - Default port for SMTP </li>
>   *
>   *    <li> MailLogger.from [required] - Mail "from" address</li>
>   *    <li> MailLogger.failure.notify [default: true] - Send build failure
> @@ -97,6 +98,7 @@
>   *         <a href="mailto:ehatcher@apache.org">ehatcher@apache.org</a>
>   */
>  public class MailLogger extends DefaultLogger {
> +
>      /** Buffer in which the message is constructed prior to sending */
>      private StringBuffer buffer = new StringBuffer();
>  
> @@ -150,13 +152,15 @@
>              }
>  
>              String mailhost = getValue(properties, "mailhost", "localhost");
> +            int port = Integer.parseInt(getValue(properties,"port",String.valueOf(MailMessage.DEFAULT_PORT)));
> +
>              String from = getValue(properties, "from", null);
>  
>              String toList = getValue(properties, prefix + ".to", null);
>              String subject = getValue(properties, prefix + ".subject",
>                      (success) ? "Build Success" : "Build Failure");
>  
> -            sendMail(mailhost, from, toList, subject, buffer.toString());
> +            sendMail(mailhost, port, from, toList, subject, buffer.toString());
>          } catch (Exception e) {
>              System.out.println("MailLogger failed to send e-mail!");
>              e.printStackTrace(System.err);
> @@ -207,15 +211,16 @@
>       *  Send the mail
>       *
>       * @param  mailhost         mail server
> +     * @param  port             mail server port number
>       * @param  from             from address
>       * @param  toList           comma-separated recipient list
>       * @param  subject          mail subject
>       * @param  message          mail body
>       * @exception  IOException  thrown if sending message fails
>       */
> -    private void sendMail(String mailhost, String from, String toList,
> +    private void sendMail(String mailhost, int port, String from, String toList,
>                            String subject, String message) throws IOException {
> -        MailMessage mailMessage = new MailMessage(mailhost);
> +        MailMessage mailMessage = new MailMessage(mailhost, port);
>  
>          mailMessage.from(from);
>  
> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> --
> To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>