1
Vraag
2
Reacties
pascalbianca

Raadgever
  • 4Posts
  • 1Oplossingen
  • 4Likes

Email script verstuurt niets meer sinds 08-08-2022

Beste,

 

Ik heb een script dat al jaren loopt en 3 emails verstuurd per dag met data naar enkele collega's.

Dit liep voorheen via gmail maar zij ondersteunen geen 3de partij (script) meer , dus ben ik vanaf afgelopen mei/juni dit gaan doen via Ziggo en heb dus een extra email adres aangemaakt in mijn prive account.

 

Deze deed weer zijn werk supe, maar nu sinds 2 dagen worden de mails van het script niet meer verstuurd terwijl een email vanuit het account zelf wel met verzenden werkt.

 

Ik heb niks aangepast aan de code en is hetzelfde gewoon gebleven.:

 

 

if(isset($_POST['send']))
                  {
                    $email = "xxxxxx@ziggo.nl"; //$_POST['email'];
                    $password = "xxxxxxxxx"; //rpi server heeft een app password aangezien dit 3de partij is.

                    $to_id = $_POST['toid1'];
                    $message = $_POST['message'];
                    $subject = $_POST['subject'];

                    $mail = new PHPMailer;
                    $mail->isSMTP(); //<-- deze moet uit bij overgang naar office365 account                                           // Set mailer to use SMTP
                    $mail->Host = 'smtp.ziggo.nl';
                    $mail->Port = 587;   
                    $mail->SMTPSecure = 'tls';   //tls
                    //Set the encryption mechanism to use - STARTTLS or SMTPS
                    //$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;

                    $mail->SMTPAuth = true; 
                    $mail->Username = $email;
                    $mail->Password = $password;
                    $mail->setFrom('xxxx', 'xxx DashBoard');
                    $mail->addReplyTo('xxx', 'xxx DashBoard');
                    $mail->addAddress($to_id);
                    $mail->Subject = $subject;
                    $mail->msgHTML($message);
                    $mail->SMTPDEbug = 4; // was4;

                    if (!$mail->send()) {
                       $error = "Mailer Error: " . $mail->ErrorInfo;
                         ?><script>alert('<?php echo $error ?>');</script><?php
                    }
                    else {
                       echo '<script>alert("Bericht verzonden!");</script>';
                    }
               }

 

 

 

Kan mij iemand enig licht schijnen waarom het de afgelopen 2 dagen opeens niet meer werkt zonder dat ook maar iemand iets in het script gewijzigd heeft.

 

Alvast super bedank voor de komende  hulp.

Oplossing

Geaccepteerde oplossingen
pascalbianca
topicstarter
Raadgever
  • 4Posts
  • 1Oplossingen
  • 4Likes

Met die php is in principe niks mis.

Ik maak gebruik van het script PHPMailer.

Heb door jou aangeving over TLS1_2 eens gaan zoeken en heb PHPMailer het volgende stukje veranderd in class.smtp.php.:

 

public function startTLS()
{
    if (!$this->sendCommand('STARTTLS', 'STARTTLS', 220)) {
        return false;
    }
    // Begin encrypted connection
    if (!stream_socket_enable_crypto(
        $this->smtp_conn,
        true,
        STREAM_CRYPTO_METHOD_TLS_CLIENT
    )) {
        return false;
    }
    return true;
}

 Naar dit.:

public function startTLS()
{
    if (!$this->sendCommand('STARTTLS', 'STARTTLS', 220)) {
        return false;
    }
    // Begin encrypted connection
    if (!stream_socket_enable_crypto(
        $this->smtp_conn,
        true,
        STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT
    )) {
        return false;
    }
    return true;
}

 

Hiermee is mijn probleem opgelost.

Maar als Ziggo eens een email zou zenden met wat veranderde waren deze vragen allemaal overbodig geweest.

Bekijk in context

11 Reacties 11
flyingpenguin

Stamgast
  • 6Posts
  • 0Oplossingen
  • 1Likes

Hallo, niet helemaal hetzelfde probleem, maar lijkt erop.

 

Ik draai een mailserver die uitgaande mail via smtp.ziggo.nl verstuurt. Draaide tot eergister als een zonnetje met SMTP authenticatie via poort 587. Gister werkelijk UUUUUUUREN zitten k%^&$violen.

- Wellicht was m'n account geblokkeerd omdat er onverhoopt een van de gebruikers had lopen email spammen. Logs gecheckt, niks ongebruikelijks tegengekomen. Toch maar de account wachtwoorden (mijn ziggo en mail.ziggo.nl) gereset. Geen soulaas.

- Alle SMTP / SSL verkeer op de email server maar eens gaan debuggen. Blijkt dat mijn server voor secure SMTP verkeer als eerste SSLv3 probeert terwijl smtp.ziggo.nl nu STARTTLS vereist. Instellingen op de mailserver aangepast zodat-ie direct TLSv1.2 kiest en probleem opgelost..

 

Wel fijn dat Ziggo dit onaangekondigd aanscherpt en je vervolgens bijna een hele dag aan het spoorzoeken bent..

pascalbianca
topicstarter
Raadgever
  • 4Posts
  • 1Oplossingen
  • 4Likes

Fijn dat jouw probleem, ondanks geen  waarschuwing van Ziggo, nu weer werkt.

Echter ik heb hiermee mijn probleem nog niet opgelost.

Wat moet ik aanpassen om het wel weer werkend te krijgen?

tobiastheebe
Super Expert
Super Expert
  • 12309Posts
  • 751Oplossingen
  • 4737Likes

Welke PHP-versie gebruik je op de server? Deze moet TLS 1.2 ondersteunen.

pascalbianca
topicstarter
Raadgever
  • 4Posts
  • 1Oplossingen
  • 4Likes
  • Apache/2.4.25 (Raspbian)
  • Clientversie van database: libmysql - mysqlnd 5.0.12-dev - 20150407 - $Id: b5c5906d452ec590732a93b051f3827e02749b83 $
  • PHP-uitbreiding: mysqli 

     

  • PHP-versie: 7.0.30-0+deb9u1

Het heeft steeds gewerkt tot eergisteren, zijn ze toen opeens overgegaan????

tobiastheebe
Super Expert
Super Expert
  • 12309Posts
  • 751Oplossingen
  • 4737Likes

PHP 7.0.30 is verouderd en wordt sinds december 2018 niet meer ondersteund.

 

Ik zou eerst phpinfo() uitvoeren op de server om na te gaan of TLS 1.2 wordt ondersteund c.q. vermeld achter 'Registered Stream Socket Transports'. Je kunt hiertoe een simpel PHP-bestand aanmaken met de volgende inhoud:

 

<?php
phpinfo();

 

pascalbianca
topicstarter
Raadgever
  • 4Posts
  • 1Oplossingen
  • 4Likes

Met die php is in principe niks mis.

Ik maak gebruik van het script PHPMailer.

Heb door jou aangeving over TLS1_2 eens gaan zoeken en heb PHPMailer het volgende stukje veranderd in class.smtp.php.:

 

public function startTLS()
{
    if (!$this->sendCommand('STARTTLS', 'STARTTLS', 220)) {
        return false;
    }
    // Begin encrypted connection
    if (!stream_socket_enable_crypto(
        $this->smtp_conn,
        true,
        STREAM_CRYPTO_METHOD_TLS_CLIENT
    )) {
        return false;
    }
    return true;
}

 Naar dit.:

public function startTLS()
{
    if (!$this->sendCommand('STARTTLS', 'STARTTLS', 220)) {
        return false;
    }
    // Begin encrypted connection
    if (!stream_socket_enable_crypto(
        $this->smtp_conn,
        true,
        STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT
    )) {
        return false;
    }
    return true;
}

 

Hiermee is mijn probleem opgelost.

Maar als Ziggo eens een email zou zenden met wat veranderde waren deze vragen allemaal overbodig geweest.

tobiastheebe
Super Expert
Super Expert
  • 12309Posts
  • 751Oplossingen
  • 4737Likes

Dit kwam ik inderdaad ook even tegen toen ik even aan het zoeken was. Fijn dat het is opgelost. De communicatie over dit soort technische wijzigingen laat inderdaad te wensen over.

 

Ik ben ook even gaan kijken op mijn server. Daarop is een WordPress-site actief welke PHPMailer 5.5 gebruikt, deze spreekt op diens beurt Postfix aan. Mail wordt verzonden via Outlook. De startTLS() function ziet er bij mij als volgt uit:

 

    public function startTLS()
    {
        if (!$this->sendCommand('STARTTLS', 'STARTTLS', 220)) {
            return false;
        }

        //Allow the best TLS version(s) we can
        $crypto_method = STREAM_CRYPTO_METHOD_TLS_CLIENT;

        //PHP 5.6.7 dropped inclusion of TLS 1.1 and 1.2 in STREAM_CRYPTO_METHOD_TLS_CLIENT
        //so add them back in manually if we can
        if (defined('STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT')) {
            $crypto_method |= STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT;
            $crypto_method |= STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT;
        }

        //Begin encrypted connection
        set_error_handler([$this, 'errorHandler']);
        $crypto_ok = stream_socket_enable_crypto(
            $this->smtp_conn,
            true,
            $crypto_method
        );
        restore_error_handler();

        return (bool) $crypto_ok;
    }

 

flyingpenguin

Stamgast
  • 6Posts
  • 0Oplossingen
  • 1Likes

Kan een moderator eens kijken of dit niet in het kwaliteits-systeem kan worden opgenomen? Natuurlijk te gek voor woorden dat een sysadmin een vinkje kan omzetten met zo’n grote impact op klanten die elke maand een lieve duit overmaken.. zonder dat van de voren aan te kondigen!

Richard G.
Expert
Expert
  • 842Posts
  • 54Oplossingen
  • 363Likes

Hebben ze met het volledig uitzetten van poort 25 helaas ook niet gedaan dus ik denk dat dit niet gaat gebeuren.

 

Maarrehh....Leg eens uit waarom Ziggo moet waarschuwen voor het uitzetten van oude onveilige protocollen?

Is het niet eerder de verantwoordelijkheid van mensen die thuis met mailservers willen hobbyen dat ze de boel up to date houden? Dan was er nu geen issue.

Steefb
Expert
Expert
  • 12306Posts
  • 2371Oplossingen
  • 4451Likes

@Richard G. Een snelle google search verduidelijkt veel.

https://www.google.nl/search?q=poort+25+mail

 

T-Mobile Thuis sluit smtp-poort 25 voor uitgaande mail per 4 oktober - IT Pro - Nieuws - Tweakers

 

Tcp-poort 25 is traditioneel de smtp-poort voor e-mail, maar internetproviders blokkeren deze meestal om spam tegen te gaan die mailservers van klanten al dan niet bewust via deze poort versturen. Blokkeren raakt dan ook meestal klanten met eigen mailservers. 

Richard G.
Expert
Expert
  • 842Posts
  • 54Oplossingen
  • 363Likes

@SteefbHet gaat me niet om het waarom, dat is me maar al te duidelijk.
Het ging er om dat Ziggo dat niet gecommuniceerd had. 😉
T-Mobile dus duidelijk wel, da's wel zo netjes.

E-mail notificaties
Aan Uit

Ontvang een update bij nieuwe reacties in dit topic.