IP-1.5.9 error sending email using SMTP (PHP 7.0)


#1

Hey, I was using IP-1.4.9 using php 5.5 before I upgraded to IP-1.5.9 using php 7.0.

When I try to send an email I get the following errors:

browser error message:
It seems that the application stuck because of an error.

Not only this, but I also got an error related to the website : ERR_SPDY_PROTOCOL_ERROR

I also tried to change it to php 5.6, BUT I am still not able to send any emails.


#2

The mailer has a debug flag that you can set to give you more verbose output of its operation. Set this to see what is going on behind the scenes.

class PHPMailer
{
                 :
     /**
     * SMTP class debug output mode.
     * Debug output level.
     * Options:
     * * `0` No output
     * * `1` Commands
     * * `2` Data and commands
     * * `3` As 2 plus connection status
     * * `4` Low-level data output.
     *
     * @see SMTP::$do_debug
     *
     * @var int
     */
    public $SMTPDebug = 0;

#3

I don’t understand it. Sorry :confused:


#4

Sorry, I assumed you have development focus.

If you are able to change the source code of the application, then you can change the code as indicated below.

If you cannot, then I cannot be further help. You will have to ask your system administrator to assist by looking at the application logs and web server logs.

The file is :
application/modules/mailer/helpers/phpmailer_helper.php

Look for the following lines

$mail = new \PHPMailer\PHPMailer\PHPMailer();
$mail->CharSet = 'UTF-8';
$mail->isHTML();

and add a line as indicated

$mail = new \PHPMailer\PHPMailer\PHPMailer();
$mail->CharSet = 'UTF-8';
$mail->isHTML();
mail->SMTPDebug = 2;

#5

Hi crafter,

Thanks for reaching out. I tried to locate the file but couldn’t find it. Adding the lines to it is in parallel universe already :joy:


#6

Hey, as @crafter suggested, you should do the following first -

Look for the following lines

$mail = new \PHPMailer\PHPMailer\PHPMailer();
$mail->CharSet = ‘UTF-8’;
$mail->isHTML();

and add a line as indicated

$mail = new \PHPMailer\PHPMailer\PHPMailer();
$mail->CharSet = ‘UTF-8’;
$mail->isHTML();
mail->SMTPDebug = 2;

If you’re not able to locate the file, then contact your system admin first or the hosting support team. They can guide you through it.

As for the ERR_SPDY_PROTOCOL_ERROR, I would like you to check a few sources for the fix.

1.https://www.reddit.com/r/chrome/comments/3ej5ua/err_spdy_protocol_error/

2.https://validedge.com/err_spdy_protocol_error/


Office 365 failed to connect
#7

Thank you so much. And to @crafter too.

I didn’t understand much about the code replacements so I had to call the support team. However, the links proved to be extra-helpful as the issue was lying in something else.