Problem sending mail since 5.3.3.1
Permalink
Since updating to 5.3.3.1 I am getting the error below when submitting a form. The form is being entered into the database, as I can view submissions from the reports page.
Fatal error: Uncaught exception 'Exception' with message 'Unable to send mail' in C:\WWWRoot\mmt\concrete\helpers\mail.php:189 Stack trace: #0 C:\WWWRoot\mmt\concrete\blocks\form\controller.php(329): MailHelper->sendMail() #1 C:\WWWRoot\mmt\concrete\models\block.php(262): FormBlockController->action_submit_form() #2 C:\WWWRoot\mmt\concrete\startup\process.php(199): Block->passThruBlock(Array, Array) #3 C:\WWWRoot\mmt\concrete\dispatcher.php(204): require('C:\WWWRoot\mmt\...') #4 C:\WWWRoot\mmt\index.php(2): require('C:\WWWRoot\mmt\...') #5 {main} thrown in C:\WWWRoot\mmt\concrete\helpers\mail.php on line 189
Any help is much appreciated.
My setup:
XAMPP on a Win2k3 server.
Fatal error: Uncaught exception 'Exception' with message 'Unable to send mail' in C:\WWWRoot\mmt\concrete\helpers\mail.php:189 Stack trace: #0 C:\WWWRoot\mmt\concrete\blocks\form\controller.php(329): MailHelper->sendMail() #1 C:\WWWRoot\mmt\concrete\models\block.php(262): FormBlockController->action_submit_form() #2 C:\WWWRoot\mmt\concrete\startup\process.php(199): Block->passThruBlock(Array, Array) #3 C:\WWWRoot\mmt\concrete\dispatcher.php(204): require('C:\WWWRoot\mmt\...') #4 C:\WWWRoot\mmt\index.php(2): require('C:\WWWRoot\mmt\...') #5 {main} thrown in C:\WWWRoot\mmt\concrete\helpers\mail.php on line 189
Any help is much appreciated.
My setup:
XAMPP on a Win2k3 server.
I can't find anything in the dashboard related to mail or SMTP settings.
On my other websites I usually use a phpmailer function to send mail via my gmail account. This machine doesn't have a mail server installed locally.
On my other websites I usually use a phpmailer function to send mail via my gmail account. This machine doesn't have a mail server installed locally.
I found the mail control panel you mentioned... Wierd thing, I had to go into the "Single Pages" panel, click mail from there, and it took me to the settings page for it. However, if I click Settings from the dashboard, there is no mail tab at the top. Does this mean my install is broken?
Back on topic... I put in my gmail settings, which are ssl://smtp.gmail.com, port 465, and my appropriate login info. These are the same settings I use for phpmailer.
Same result.
Back on topic... I put in my gmail settings, which are ssl://smtp.gmail.com, port 465, and my appropriate login info. These are the same settings I use for phpmailer.
Same result.
I'm not too knowledgeable with XAMPP configuration, but I did find this:http://gunnerpress.com/web-dev/how-to-send-email-with-xampp-on-wind... which seems to go into a bit of detail around getting the mail working.
With the dashboard tab issue, when you upgraded to 5.3.3.1, did you copy the new /concrete folder over the old one? I had a similar problem when I did this, but if I deleted (or renamed) the old /concrete folder and replaced it with the new one the tabs showed up.
With the dashboard tab issue, when you upgraded to 5.3.3.1, did you copy the new /concrete folder over the old one? I had a similar problem when I did this, but if I deleted (or renamed) the old /concrete folder and replaced it with the new one the tabs showed up.
Also may want to check this outhttp://www.concrete5.org/community/forums/customizing_c5/contact-fo...
Not sure if it's related to your issue.
Not sure if it's related to your issue.
Thank you for the help. Now that my dashboard is fixed by using your suggestion above, I have entered the correct information and am receiving this new message when I submit a form:
Fatal error: Uncaught exception 'Zend_Mail_Protocol_Exception' with message ''ssl://smtp.gmail.com' appears to be a DNS hostname but cannot match against hostname schema for TLD 'com', 'ssl://smtp.gmail.com' does not appear to be a valid local network name' in C:\WWWRoot\mmt\concrete\libraries\3rdparty\Zend\Mail\Protocol\Abstract.php:138 Stack trace: #0 C:\WWWRoot\mmt\concrete\libraries\3rdparty\Zend\Mail\Protocol\Smtp.php(156): Zend_Mail_Protocol_Abstract->__construct('ssl://smtp.gmai...', '465') #1 C:\WWWRoot\mmt\concrete\libraries\3rdparty\Zend\Mail\Protocol\Smtp\Auth\Login.php(76): Zend_Mail_Protocol_Smtp->__construct('ssl://smtp.gmai...', '465', Array) #2 C:\WWWRoot\mmt\concrete\libraries\3rdparty\Zend\Mail\Transport\Smtp.php(194): Zend_Mail_Protocol_Smtp_Auth_Login->__construct('ssl://smtp.gmai...', '465', Array) #3 C:\WWWRoot\mmt\concrete\libraries\3rdparty\Zend\Mail\Transport\Abstract.php(348): Zend_Mail_Transport_Smtp->_sendMail() #4 C:\WWWRoot\mmt\concrete\libraries\3rdparty\Zend\Mail.php(973): Zend_Mail_Transpo in C:\WWWRoot\mmt\concrete\libraries\3rdparty\Zend\Mail\Protocol\Abstract.php on line 138
Fatal error: Uncaught exception 'Zend_Mail_Protocol_Exception' with message ''ssl://smtp.gmail.com' appears to be a DNS hostname but cannot match against hostname schema for TLD 'com', 'ssl://smtp.gmail.com' does not appear to be a valid local network name' in C:\WWWRoot\mmt\concrete\libraries\3rdparty\Zend\Mail\Protocol\Abstract.php:138 Stack trace: #0 C:\WWWRoot\mmt\concrete\libraries\3rdparty\Zend\Mail\Protocol\Smtp.php(156): Zend_Mail_Protocol_Abstract->__construct('ssl://smtp.gmai...', '465') #1 C:\WWWRoot\mmt\concrete\libraries\3rdparty\Zend\Mail\Protocol\Smtp\Auth\Login.php(76): Zend_Mail_Protocol_Smtp->__construct('ssl://smtp.gmai...', '465', Array) #2 C:\WWWRoot\mmt\concrete\libraries\3rdparty\Zend\Mail\Transport\Smtp.php(194): Zend_Mail_Protocol_Smtp_Auth_Login->__construct('ssl://smtp.gmai...', '465', Array) #3 C:\WWWRoot\mmt\concrete\libraries\3rdparty\Zend\Mail\Transport\Abstract.php(348): Zend_Mail_Transport_Smtp->_sendMail() #4 C:\WWWRoot\mmt\concrete\libraries\3rdparty\Zend\Mail.php(973): Zend_Mail_Transpo in C:\WWWRoot\mmt\concrete\libraries\3rdparty\Zend\Mail\Protocol\Abstract.php on line 138
Got it!
The field doesn't allow for the 'ssl://' in front of the host name. However, Concrete5 has no way to indicate to the Zend Mailer that SSL is to be used. So in order to make it work, I had to add 'ssl' => 'ssl', to the $config array in helpers\mail.php on line 150.
The field doesn't allow for the 'ssl://' in front of the host name. However, Concrete5 has no way to indicate to the Zend Mailer that SSL is to be used. So in order to make it work, I had to add 'ssl' => 'ssl', to the $config array in helpers\mail.php on line 150.
failing this, you can setup an external smtp host in the dashboard, under sitewide settings from memory.
hope this helps!