Drukowana wersja artykułu Kliknij tutaj aby zobaczyć artykuł w oryginalnym formacie Invisionize.eu - IP.Board (IPB) News _ IP.Board 3.x Tracker _ SMTP HELO/EHELO Dodane przez: Invisionize.eu czw, 05 sierpień 2010 This is somewhat in reference to: http://community.inv.../page__hl__helo In the past 3.x defaulted to "HELO" and feel back on "EHELO", but according the the above report it was changed to make the method selectable. I've been doing further work in the SMTP and Email realm and have been pouring over RFC documentation, and seeking out other examples of implementation (including IPB's) and I've noticed a couple points of interest that may concern you. The "HELO" command was part of the original spec of RFC 821, which does not include authentication. The "EHELO" command was introduced to represent the "extended" or "enhanced" features described in RFC 5321, which does support authentication. I'm not quite sure why IPB started with "HELO" and fell back to "EHELO", but according to the spec authentication would have never worked under those circumstances since all MTA's should support HELO for older SMTP clients. Instead it should have started with "EHELO" and fell back to "HELO". As far as I can see in the code (this may be different in the settings) HELO is still the default even though it can be changed. It's also worth noting that authentication should not be attempted with the HELO command and some mail servers may require a digest type authentication depending on configuration... The commands supported, as well as authentication types, from the RFC 5321 spec are sent in a response after the EHELO command. Another thing I've noticed is the parameter for HELO: HELO domain IPB sends the same host that it connects to in the HELO parameter. What it should be doing is populating this with the host that it's connecting from. Mail clients, like Thunderbird, tend to populate this with the computers hostname. With a website this probably should be $_SERVER['HTTP_HOST'] or another specified domain. Everything I'm talking about is described in RFC 5321 under section 3.2 (as well as some other areas): Quote Once the server has sent the greeting (welcoming) message and the client has received it, the client normally sends the EHLO command to the server, indicating the client's identity. In addition to opening the session, use of EHLO indicates that the client is able to process service extensions and requests that the server provide a list of the extensions it supports. Older SMTP systems that are unable to support service extensions, and contemporary clients that do not require service extensions in the mail session being initiated, MAY use HELO instead of EHLO. Servers MUST NOT return the extended EHLOstyle response to a HELO command. For a particular connection attempt, if the server returns a "command not recognized" response to EHLO, the client SHOULD be able to fall back and send HELO. In the EHLO command, the host sending the command identifies itself; the command may be interpreted as saying "Hello, I am <domain>" (and, in the case of EHLO, "and I support service extension requests"). I realize that some of this may require some further investigation and may be flagged for later review since it isn't a critical issue... but I thought I would bring this to your attention anyway. I've completed my mail class recently, and I've also implemented RFC 4870/4871 within in (client-side DKIM signatures). The use of DKIM and SPF decreases the likelihood of a message being marked as spam. Typically setting this up requires configuring the MTA to sign outbound messages... but with shared environments this may not be possible. If you have any desire to peruse that I'd be willing to share what I've learned. Some of the work I've done was posted here, which validates a signed message and could easily be used to figure out how to sign a message. Źródło: http://community.invisionpower.com/tracker/issue-24676-smtp-heloehelo/ Powered by SD.Agregator (http://www.invisionize.eu) © SpannerDEV (http://www.spannerdev.pl)