Beantwoord

PHP Mailer werkt niet

  • 5 maart 2017
  • 7 reacties
  • 267 keer bekeken

Ws. de zoveelste in de rij maar sinds een tijdje werkt het mailformulier van de klant niet meer.
Het afzendadres is van de domeinnaam in kwestie zelf (info@domeinnaaminkwestie.nl) dus geen willekeurige afzender.

Nu las ik van gisteren dat Tim, jullie comunity manager, hier iets had over een wijziging op 1 maart ivm spam.
hier: https://zakelijkforum.kpn.com/stel-uw-vraag-4/php-mail-script-werkt-opeens-niet-meer-8950

En Lindsay vertelde in deze post van 8 dagen geleden dat er misschien servers op de blacklist waren gezet.
hier: https://zakelijkforum.kpn.com/domeinnaam-online-webhosting-online-14/php-script-werkt-niet-meer-sinds-vernieuwing-cloud-services-8920

Ook al verzameld de mail zich ook in de database ik vind het een probleem, dit soort functionaliteit moet gewoon basis werken, desnoods met een inlog op een smtp server van jullie ter autorisatie.
Op 3 andere hosters werkt de site en het mailen prima, het zijn gewoon de contactform scripts van wordpress.

Bedankt voor de moeite alvast en grtjs,

Daniel van der Stelt
icon

Beste antwoord door DanielvdStelt1979 10 maart 2017, 05:17

Hoi Lindsay, ik begrijp dat jullie webserver niet meer standaard mail kan versturen.
Ik heb nu de SMTP server van Gmail ingesteld via Oauthv2.

Mochten andere wordpress gebruikers problemen hebben en geen SMTP server toegang hebben dan kan dit eenvoudig met een gmail adres en de plugin:
https://nl.wordpress.org/plugins/gmail-smtp/

Je moet dan bij Google de nodige sleutels genereren en instellen. Niet moeilijk en het staat bescreven maar voor echte leken niet makkelijk.

Groetjes Daniel
Bekijk origineel

7 reacties

Reputatie 6
Badge +5
Hallo Daniel,

Ik weet dat u al volledig up to date bent, maar nog even voor de andere lezers van dit topic:

"Er zijn nieuwe maatregelingen genomen sinds 1 maart waardoor het lastiger is geworden om misbruik te maken van de mailservers. Mogelijk wordt dit momenteel gezien als misbruik, het "zomaar" invullen van een e-mailadres is 'spoofing'. De domeinnaam van een e-mailadres moet toestaan dat een bepaalde mailserver gebruik mag maken van het e-mailadres."
Om deze reden zijn er een aantal mailservers op de blacklist gezet door 'Abuse'.

Tim heeft mij de informatie doorgegeven en ik heb meteen een ticket aangemaakt richting onze Abuse afdeling :)
Ik houd u op de hoogte van de vorderingen!
Reputatie 6
Badge +5
Hoi Daniel,

Zojuist heb ik contact gehad met onze technische support. Zij hebben een simpel PHP script geplaatst:



Met dit script werkt het als een trein!;) So far lijkt het dus los te staan van de geblackliste mailservers. Krijgt u een foutmelding of een bounce mail terug van uw script?
Dan geef ik dit door!
Hoi Lindsay, dit script test niets van een geblackliste server.
Het stuurt de mail naar sendmail en geeft dan een Ok dat sendmail het heeft aangenomen.

if(mail($to, $subject, $body))

Deze test geeft een true als de sendmail (das gewoon de service die het mailtje weer doorstuurt naar de smtp server verderop) de mail heeft verstuurd en idd dat gaat prima. Maar het mailtje verdwijnt daarna.

Dat werkt wel, maar, de mail komt nooit aan.

Ik mis in het script een ontvang adres waar het echt op aan komt.

- Of een mailserver is geblacklist, dit betekent dat jullie sendmail server het mailtje verstuurt maar iedere mailserver onderweg welke van de blacklist gebruik maakt dropt het zonder reden in de prullenbak.
- Of de mailserver verstuurt het niet goed, bijvoorbeeld door een te strikte relaying regel

Als ze het willen testen moeten ze een script maken of deze gebruiken en dan met een echt adres er in testen of het ook aankomt.
Hoi Lindsay, even een berichtje, dank je voor je moeite in het volgende topic

https://zakelijkforum.kpn.com/domeinnaam-online-webhosting-online-14/php-mailer-werkt-niet-8959/index1.html#post11771

Echter dit is geen test en geen oplossing. Misschien weet je het maar ik probeer je even in te vullen over de werking van de mail in combi met de websites.
Een website draait tegenwoordig naast HTML ook op een scripttaal als PHP. Hierin kun je o.a. een mail scriptje aan maken zoals jouw voorbeeldje van de technische dienst.
Dit scriptje test dan of de verstuurder van de webserver, meestal 'sendmail', een mailtje accepteert en verstuurd.
Dit gaat goed want ook mijn script geeft aan dat sendmail het juist accepteert.
Wat sendmail dan doet is, of zelf, of via een tweede mailserver een echt mailkanon, smtp.kpn.com bijvoorbeeld de mail het internet op smijten.

Nu kunnen er 2 dingen aan de hand zijn. Of de mailserver accepteert door hele strikte regels de mail niet van de sendmail, en dan geeft deze een zogenaamde relaying error.
Deze regels zijn altijd aanwezig om te voorkomen dat er willekeurige afzendadressen worden ingevoerd, om voor spam te gebruiken. Dan moet het mailtje van een domein zijn dat ook gehost word bij jullie
in mijn geval is dit zo het afzendadres is info@salsacontigo.nl of ik zou moeten inloggen bij de server, dat kan in dit geval niet.

De andere mogelijkheid en de meest logische naar aanleiding van jouw reactie is een blacklisting. Die werkt zo, het mailtje hopt van mailserver naar mailserver in de richting van zijn bestemming.
Onderweg zijn vele mailservers aangesloten op een lijstje met 'bad' meestal spam genoteerde servers. Staat de afzend server op die lijst dan wordt het mailtje zonder pardon in de prullenbak gesmeten.
Je vind hier niets van terug. Dat maakt het ook altijd heel ongrijpbaar.

Wat moet iemand doen. Iemand moet op de sendmail server inloggen of de mailserver en daar de log controleren om te zien of een mailtje verzonden wordt.
Wordt het verzonden naar een test adres en komt het niet aan, dan weet je zeker dat het een blacklist probleem is.
In alle andere gevallen kun je in de log zien wat het probleem is.

Je kunt dit NIET met een php scriptje zien, omdat deze alleen doorgeeft of het bij de sendmail daemon wordt afgeleverd.

Ik hoop dat je hier iets aan hebt. Vele mensen hebben het probleem zie ik op het forum, een blacklisting is echt de meest voor de hand liggende optie, of jullie beheer moet de mailservers nakijken in de log.
Reputatie 6
Badge +5
Hoi Daniel,

Ik moet even sorry zeggen, ik heb uw kennisniveau op dit gebied onderschat: Sorry!:) Zelf kom ik van Cloud support en heb ik regelmatig contact met klanten met een lager kennisniveau. Eerder ben ik extreem kort door de bocht geweest in mijn reactie om de vraag van onze support zo snel mogelijk over te brengen. Daarin zat ik fout en dit zal ik nu herstellen.

Vanaf 7 maart zijn er geen geblackliste mailservers meer, dit kan het probleem dus niet meer zijn. Dat er een daadwerkelijk e-mailadres ingevuld moet worden ben ik mij absoluut van bewust. Het e-mailadres dat ze hebben gebruikt heb ik uit het script gehaald, omdat deze niet openbaar gepubliceerd mag worden.

Deze regels zijn altijd aanwezig om te voorkomen dat er willekeurige afzendadressen worden ingevoerd, om voor spam te gebruiken. Dan moet het mailtje van een domein zijn dat ook gehost word bij jullie
in mijn geval is dit zo het afzendadres is info@salsacontigo.nl of ik zou moeten inloggen bij de server, dat kan in dit geval niet.

De spoofing regels zijn inderdaad verscherpt, dit was het probleem bij een andere forum klant. Op het moment dat hij SMTP autorisatie toevoegde aan zijn script (host, gebruikersnaam en wachtwoord), werkte het weer. :)
Als ik het goed begrijp geeft u hier aan dat dit in uw geval niet mogelijk is. Gebruikt u een specifieke plugin van Wordpress waarvan u het script niet aan kunt passen? Kunt u het script wellicht met mij delen?

Ik heb onze support doorgegeven dat er geen bounce mails ontvangen worden en heb ze meteen gevraagd om te logs te checken. Dit hebben ze bij onze SMTP autorisatie klant wel gecontroleerd, maar volgens mij bij u nog niet.

Zodra ik reactie heb hoort u het weer van me!
Hoi Lindsay, ik begrijp dat jullie webserver niet meer standaard mail kan versturen.
Ik heb nu de SMTP server van Gmail ingesteld via Oauthv2.

Mochten andere wordpress gebruikers problemen hebben en geen SMTP server toegang hebben dan kan dit eenvoudig met een gmail adres en de plugin:
https://nl.wordpress.org/plugins/gmail-smtp/

Je moet dan bij Google de nodige sleutels genereren en instellen. Niet moeilijk en het staat bescreven maar voor echte leken niet makkelijk.

Groetjes Daniel
Reputatie 6
Badge +5
Klopt als een bus!! Supergoed om mee te geven aan de andere Wordpress gebruikers :D

Als ze naast Webhosting, ook Zakelijk Exchange Online afnemen bij ons, kunnen ze ook de SMTP van dat abonnement gebruiken: smtp.office365.com + gebruikersnaam en wachtwoord.

Ik heb voor u een tussentijdse reactie terug. De logs zijn gecheckt, maar er staan geen mails in queue op de server! Ze zijn verder aan het spitten: to be continued.

Reageer