Ez 4.3 and SMTP AUTH info

Monday 02 May 2011 1:36:23 pm

By : Alessandro Dellanna

Ez, SMTP and the AUTH info syntax (maybe a new book title...)

On my new site I have created a simple Request Information Form but when I try to submit apparently all goes ok, but no mail were send to anybody...

I've installed a new ez site from scratch as usual. I've completed the install phase and when I'm going to setup the SMTP server for Collected Info I have changed my usual SMTP server with another one with user AUTHENTICATION required.

In the site.ini settings I have inserted the correct smtp server name, user and password but when I try to fill the Request Information Form the error.log (in /var/log of ez root) display the following message:

eZSMTPTransport::sendMail:
exception 'ezcMailTransportException' with message 'An error occured while sending or receiving mail. SMTP server does not accept the AUTH command.'

I've changed all params but nothing to do. I've asked my provider about the capabilities of the SMTP server bau all seem to be ok.

Searching for the error int the source code, after a lot of time I've discovered a file located in $ezroot/lib/ezc/Mail/src/transports/smtp/smtp_transport.php.

At the line 583 you can find the function

protected function login()

and below the code

preg_match( "/250-AUTH[= ](.*)/", $response, $matches );
if ( count( $matches ) > 0 )
{
    $methods = explode( ' ', trim( $matches[1] ) );
}
if ( count( $matches ) === 0 || count( $methods ) === 0 )
{
    throw new ezcMailTransportSmtpException( "A SMTP server does not accept the AUTH command." );
}

As you can see there is exactly the error I have received from the error.log.

I've attached at the end of the error message the entire RESPONSE from my SMTP server and change the line from

throw new ezcMailTransportSmtpException( "A SMTP server does not accept the AUTH command." );

to

throw new ezcMailTransportSmtpException( "A SMTP server does not accept the AUTH command: {$response}." );

And voilĂ .... I found the problem.... look at the SMTP response:

AUTH command: 250-authsmtp.register.xxx
250-PIPELINING
250-8BITMIME
250-SIZE 0
250 AUTH LOGIN PLAIN

For a misteriusly reason my SMTP server send a welcome message with 250 AUTH... and not 250-AUTH so the preg_match function doesn't find any AUTH capability in the SMTP SERVER and the entire function fail.

Changing the portion of code accordingly to the message response of your SMTP server can solve the problem, but I'm thinking this behaviour can be programmed or parametrized....

alooa !!!

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.

eZ debug

Timing: Jan 18 2025 02:21:43
Script start
Timing: Jan 18 2025 02:21:43
Module start 'layout'
Timing: Jan 18 2025 02:21:43
Module start 'content'
Timing: Jan 18 2025 02:21:43
Module end 'content'
Timing: Jan 18 2025 02:21:43
Script end

Main resources:

Total runtime0.0690 sec
Peak memory usage6,144.0000 KB
Database Queries42

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0050 589.0391152.6250
Module start 'layout' 0.00500.0024 741.664139.4688
Module start 'content' 0.00740.0602 781.1328366.3281
Module end 'content' 0.06760.0014 1,147.460915.7031
Script end 0.0690  1,163.1641 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00314.4485150.0002
Check MTime0.00121.7756150.0001
Mysql Total
Database connection0.00050.779410.0005
Mysqli_queries0.023333.8149420.0006
Looping result0.00020.3122400.0000
Template Total0.044965.020.0224
Template load0.00202.826020.0010
Template processing0.042962.133620.0215
Template load and register function0.00010.141910.0001
states
state_id_array0.00081.163010.0008
state_identifier_array0.00060.916820.0003
Override
Cache load0.00162.3232260.0001
Sytem overhead
Fetch class attribute name0.00182.573230.0006
class_abstraction
Instantiating content class attribute0.00000.014530.0000
General
dbfile0.00060.8543100.0001
String conversion0.00000.011440.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplblog_entry/full.tplextension/community_design/design/suncana/override/templates/blog_entry/full.tplEdit templateOverride template
2content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
8content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
6content/datatype/view/ezxmltags/literal.tpl<No override>extension/community/design/standard/templates/content/datatype/view/ezxmltags/literal.tplEdit templateOverride template
1content/datatype/view/ezkeyword.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezkeyword.tplEdit templateOverride template
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_pagelayout.tplEdit templateOverride template
 Number of times templates used: 19
 Number of unique templates used: 6

Time used to render debug report: 0.0001 secs