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>