ok
On Mar 1, 2015 12:51 AM, "Eric Charles" <e...@apache.org> wrote:

> Can you open a JIRA and upload your patches there?
>
> On 10/28/2014 12:11 AM, Robert Munn wrote:
> > OK, I made an Eclipse patch for the RemoteDelivery issue. I also made a
> patch for a mod I made to ReadOnlyUsersLDAPRespository.java that filters
> LDAP users by an additional filter string specified in the ldap conf file.
> Details, and patches, available on my blog:
> >
> >
> http://blog.bonnydoonmedia.com/post.cfm/patches-for-apache-james-mail-server-3-0-beta5
> >
> >
> >
> > On Oct 27, 2014, at 2:05 PM, Robert Munn <cfmuns...@gmail.com> wrote:
> >
> >> Forgot one thing. Just above the try{} block, Transport transport is
> defined. I changed it to this:
> >>
> >> SMTPTransport transport = null;
> >>
> >>
> >>
> >> On Oct 27, 2014, at 1:54 PM, Robert Munn <cfmuns...@gmail.com> wrote:
> >>
> >>> Here is my code. Import the SMTPTransport class, and replace this:
> >>>
> >>>  transport = session.getTransport(outgoingMailServer);
> >>>
> >>> with this:
> >>>
> >>>  transport =  (SMTPTransport) session.getTransport(outgoingMailServer);
> >>>  transport.setLocalHost( props.getProperty("mail.smtp.localhost",
> heloName) );
> >>>
> >>> I added:
> >>>
> >>>         <!-- Set the HELO/EHLO name to use when connectiong to remote
> SMTP-Server -->
> >>>         <mail.smtp.localhost>mail.legacyavatar.com
> </mail.smtp.localhost>
> >>>
> >>> and I have confirmed that it is being picked up by
> props.getProperty(“mail.smtp.localhost”).
> >>>
> >>>
> >>>
> >>>
> >>> On Oct 27, 2014, at 1:23 PM, Robert Munn <cfmuns...@gmail.com> wrote:
> >>>
> >>>> Great stuff. I got the build working as well. I don’t like the fact
> that we’re forcing it to use SMTPTransport, ruling out using other
> transport providers, but if you look at the section of the code just below
> there, you see this:
> >>>>
> >>>>      // if the transport is a SMTPTransport (from sun) some
> >>>>      // performance enhancement can be done.
> >>>>      if (transport.getClass().getName().endsWith(".SMTPTransport")) {
> >>>>
> >>>> so there is a section that is testing the class and adding extensions
> already. I might wrap the code in a class name check and only call
> setLocalHost() if I find
> org.apache.geronimo.javamail.transport.smtp.SMTPTransport.
> >>>>
> >>>> Also, you only need to import that class, not the entire
> org.apache.geronimo.javamail.transport.smtp.* package. Better for the
> memory footprint.
> >>>>
> >>>>
> >>>> I will help with jDKIM, I will need to set it up myself. Where to
> start?
> >>>>
> >>>>
> >>>>
> >>>> On Oct 27, 2014, at 12:29 PM, Jerry Malcolm <techst...@malcolms.com>
> wrote:
> >>>>
> >>>>> Well, Robert, you get the prize.... It works (finally)!
> >>>>>
> >>>>> Two changes required to RemoteDelivery mailet:
> >>>>>
> >>>>> Add:
> >>>>> import org.apache.geronimo.javamail.transport.smtp.*;
> >>>>>
> >>>>> Right after:
> >>>>> transport = session.getTransport(outgoingMailServer);
> >>>>>
> >>>>> add:
> >>>>>
> ((org.apache.geronimo.javamail.transport.smtp.SMTPTransport)transport).setLocalHost(
> "mail.jwmhosting.com");
> >>>>>
> >>>>> or be more generic and get the value from props.
> >>>>>
> >>>>> The setLocalHost needs to be right after the object is instantiated
> since the HELO is sent on one of the first calls to transport.
> >>>>>
> >>>>> This fixes it (thank you so much for your help).  But Geronimo is
> still not following the spec and honoring the property
> mail.smtp.localhost.  It needs to be fixed in a subsequent release.
> >>>>>
> >>>>> Basically everybody using James 3 needs to add this fix to the
> mailet, at least if running on a Windows server.  Or verify through
> mail-tester.com that the HELO is correct.  Going back to the orig
> problem, gmail was not delivering tons of my mail due to this.
> >>>>>
> >>>>> Thanks again.
> >>>>>
> >>>>> Now.... anybody offer any help on getting jDKIM working?  I've got
> it implemented and the DNS is set up.  But mail-tester is telling me the
> signature is invalid.  On to the next problem.....
> >>>>>
> >>>>> Jerry
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> On 10/27/2014 2:00 PM, Jerry Malcolm wrote:
> >>>>>> The mailet only sees 'transport' which is cast to generic
> "javax.mail.Transport".   The localhost methods and connection methods are
> all part of the geronimo impl.  You'll need to cast the transport to the
> geronimo package for the class, then see if you can get the connection
> object from the transport.  Might work.  But non-trivial.  I'll play around
> with that was well.
> >>>>>>
> >>>>>> Jerry
> >>>>>>
> >>>>>> On 10/27/2014 1:41 PM, Robert Munn wrote:
> >>>>>>> Here is the base code. Note localHost is a property of the
> MailConnection class. Note also that there is a setLocalHost() method. I am
> going to try setting the localhost property from RemoteDelivery using
> setLocalHost( localHost ).
> >>>>>>>
> >>>>>>>  public String getLocalHost() throws MessagingException {
> >>>>>>>      if (localHost == null) {
> >>>>>>>
> >>>>>>>          try {
> >>>>>>>              localHost = InetAddress.getLocalHost().getHostName();
> >>>>>>>          } catch (UnknownHostException e) {
> >>>>>>>              // fine, we're misconfigured - ignore
> >>>>>>>          }
> >>>>>>>
> >>>>>>>          if (localHost == null) {
> >>>>>>>              localHost = props.getProperty(MAIL_LOCALHOST);
> >>>>>>>          }
> >>>>>>>
> >>>>>>>          if (localHost == null) {
> >>>>>>>              localHost = props.getSessionProperty(MAIL_LOCALHOST);
> >>>>>>>          }
> >>>>>>>
> >>>>>>>          if (localHost == null) {
> >>>>>>>              throw new MessagingException("Can't get local
> hostname. "
> >>>>>>>                      + " Please correctly configure JDK/DNS or set
> mail.smtp.localhost");
> >>>>>>>          }
> >>>>>>>      }
> >>>>>>>
> >>>>>>>      return localHost;
> >>>>>>>  }
> >>>>>>>
> >>>>>>>       /**
> >>>>>>>   * Explicitly set the local host information.
> >>>>>>>   *
> >>>>>>>   * @param localHost
> >>>>>>>   *            The new localHost name.
> >>>>>>>   */
> >>>>>>>  public void setLocalHost(String localHost) {
> >>>>>>>      this.localHost = localHost;
> >>>>>>>  }
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> On Oct 27, 2014, at 11:28 AM, Jerry Malcolm <
> techst...@malcolms.com> wrote:
> >>>>>>>
> >>>>>>>> mailet calls 'transport' which is an "SMTPTransport" instance.
> SMTPTransport calls SMTPConnection.getLocalHost() which is inherited from
> MailConnection.getLocalHost().
> >>>>>>>>
> >>>>>>>> That method returns the
> InetAddress().getLocalHost().getHostName() first.  According to the spec,
> that should only occur IF the property mail.smtp.localhost is not set.  So
> i think the fix should be in that method.
> >>>>>>>>
> >>>>>>>> The very first thing in the MailConnection.getLocalHost() method
> should be something like:
> >>>>>>>> ---------------------------------------
> >>>>>>>> if ( props.getProperty( "mail.smtp.localhost" ) != null ) return(
> props.getProperty( "mail.smtp.localhost" ));
> >>>>>>>> ---------------------------------------
> >>>>>>>> Then let it try all of the other options if and only if this
> property is NOT set.
> >>>>>>>>
> >>>>>>>> Jerry
> >>>>>>>>
> >>>>>>>> On 10/27/2014 1:07 PM, Robert Munn wrote:
> >>>>>>>>> More info. SMPTConnection.java extends MailConnection.java which
> has a method with this signature:
> >>>>>>>>>
> >>>>>>>>> public boolean protocolConnect(String host, int port, String
> username, String password) throws MessagingException
> >>>>>>>>>
> >>>>>>>>> If you fail to pass ‘host’ as an argument to the method, the
> host defaults to ‘localhost’. A patch could be made there. A better patch
> would be to find the upstream code that is calling this method and patch it
> to send the correct hostname. I am hunting for that location, please let me
> know if you have any suggestions...
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On Oct 27, 2014, at 10:25 AM, Jerry Malcolm <
> techst...@malcolms.com> wrote:
> >>>>>>>>>
> >>>>>>>>>> Thanks for jumping in and investigating.  This has gone from
> ugly to horrible....  I think I have found the culprit.
> >>>>>>>>>>
> >>>>>>>>>> I first had to figure out who is providing the class for
> SMTPTransport.   figured out that the package for SMTPTransport is:
> org.apache.geronimo.javamail.transport.smtp.  So it is NOT a base JVM
> implementation.... It's apache, and I am about to withdraw my statement
> that 'surely the transport class couldn't be ignoring a property".....
> >>>>>>>>>>
> >>>>>>>>>> Geronimo's SMTPTransport.java uses a class SMTPConnection which
> actually returns the localhost name.  And... no surprise at this point, it
> totally ignores the mail.smtp.localhost property. The property doesn't even
> appear anywher in the class.  First line in getLocalHost() pulls the
> InetAddress.getLocalHost().getHostName() value.
> >>>>>>>>>>
> >>>>>>>>>> So.... half the problem is done... we know the culprit. Now I
> guess (oh joy....) I get to download the whole geronimo package, set up a
> build process, fix the code, and replace the jar on my server. (yuck).
> >>>>>>>>>>
> >>>>>>>>>> That is... unless someone already has a VERY quick way to patch
> and rebuild geronimo.....  Looking for volunteers.... :-)
> >>>>>>>>>>
> >>>>>>>>>> In the meantime, I will also try adding that JVM parameter to
> try to override the Win Server machine name.
> >>>>>>>>>>
> >>>>>>>>>> Still open to other suggestions for quicker workaround.....
> >>>>>>>>>>
> >>>>>>>>>> Thanks.
> >>>>>>>>>>
> >>>>>>>>>> Jerry
> >>>>>>>>>>
> >>>>>>>>>>
> ---------------------------------------------------------------------
> >>>>>>>>>> To unsubscribe, e-mail:
> server-user-unsubscr...@james.apache.org
> >>>>>>>>>> For additional commands, e-mail:
> server-user-h...@james.apache.org
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> -----
> >>>>>>>>> No virus found in this message.
> >>>>>>>>> Checked by AVG - www.avg.com
> >>>>>>>>> Version: 2015.0.5315 / Virus Database: 4189/8462 - Release Date:
> 10/27/14
> >>>>>>>>>
> >>>>>>>>
> ---------------------------------------------------------------------
> >>>>>>>> To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org
> >>>>>>>> For additional commands, e-mail:
> server-user-h...@james.apache.org
> >>>>>>>
> >>>>>>>
> >>>>>>> -----
> >>>>>>> No virus found in this message.
> >>>>>>> Checked by AVG - www.avg.com
> >>>>>>> Version: 2015.0.5315 / Virus Database: 4189/8463 - Release Date:
> 10/27/14
> >>>>>>>
> >>>>>>
> >>>>>>
> ---------------------------------------------------------------------
> >>>>>> To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org
> >>>>>> For additional commands, e-mail: server-user-h...@james.apache.org
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> -----
> >>>>>> No virus found in this message.
> >>>>>> Checked by AVG - www.avg.com
> >>>>>> Version: 2015.0.5315 / Virus Database: 4189/8462 - Release Date:
> 10/27/14
> >>>>>
> >>>>> ---------------------------------------------------------------------
> >>>>> To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org
> >>>>> For additional commands, e-mail: server-user-h...@james.apache.org
> >>>>>
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org
> For additional commands, e-mail: server-user-h...@james.apache.org
>
>

Reply via email to