Voorkom dat mail vanuit PHP in Spam map komt
- By : Arne
- Category : Webhosting
- Tags: php, spam
![no spam! no spam!](https://www.webmasterresources.nl/wp-content/uploads/2014/11/240px-no-spam-svg.png)
Enkele webdesigners hebben er last van, de e-mail die je vanuit een PHP script verstuurt die komt bij enkele of alle ontvangers in de Spam map. Het kan hierbij gaan om een bevestiging, een automatisch antwoord, een digitale mailing, om een digitale factuur, etc. Heel vervelend wanneer je bijvoorbeeld een factuur verstuurd en de klant deze nooit ontvangt omdat de mail gefilterd wordt als spam. Hoe kun je dit voorkomen? Welke mogelijkheden heb je om dit probleem te verhelpen?
Helaas gaat het bij dit Spam probleem niet altijd om één oorzaak. Er kunnen diverse redenen zijn waarom de mail die je bijvoorbeeld met PHP mail / Sendmail verzend bij de ontvanger als Spamming wordt aangemerkt. Ik zal in dit artikel een aantal vaak voorkomende oorzaken en oplossingen noemen en ik hoop dat minimaal één van deze oplossingen voor jou werkt!?
Afzender komt niet overeen met IP adres server
PHP mail() stuurt de mailtjes vanaf de server waar het bestand gehost staat. Dit is vaak een computer met een ander IP adres of met een IP adres waar geen domeinnaam aan gekoppeld is. Dit is vaak het geval wanneer je gebruik maakt van Shared Hosting services.
Je zou dit kunnen oplossen door de server instellingen aan te passen of de opzet van de PHP mail() te veranderen zodanig dat jouw domeinnaam ook terug komt in de “ontvangen van” header in de mail. Maar op shared hosting mag je dergelijke aanpassingen meestal niet uitvoeren. Er is wel iets dat je zelf kunt doen om de kans op filtering te verkleinen. Je kunt het aangemerkt worden als spammer in dit geval voorkomen door gebruik te maken van bijvoorbeeld PHPMailer of Swiftmailer om hiermee de emails te versturen.
Je kunt dan ook bijvoorbeeld de e-mail versturen via een externe SMTP server. Deze server heeft dan een ander ip-adres dan de shared hosting en indien het shared hosting ipadres op een blacklist staat dan komen e-mails altijd in een spambox terecht. Een gratis oplossing is het verzenden van e-mails met PHPmailer via Gmail. Zie hier een tutorial: http://www.web-development-blog.com/archives/send-e-mail-messages-via-smtp-with-phpmailer-and-gmail/
Envelope-from ongelijk aan de e-mail from
In het algemeen kun je door de Spam filters heen komen wanneer de envelope-from gelijk is aan de from waarvan je de mail stuurt. Wanneer er een verschil is tussen de from / vanaf in de header en envFrom dan duidt dit vaak op spammail. Vaak laat je dit leeg in PHP en dan wordt hier automatisch iets ingevuld. Je moet dit dus zelf goed invullen. Gebruik de volgende code hiervoor:
$headers .= "From: Some Name<$from>rn";
$envFrom = '-fmyemail@email.com';
mail($to, $subject, $body, $headers, $envFrom);
Er hoeft geen spatie te staan tussen de -f en het email adres. Maar er zijn meldingen die aangeven dat een spatie een probleem kan geven en dus kun je beter kiezen voor het weglaten van de spatie.
Zie ook deze tutorial:http://www.transio.com/content/how-pass-spam-filters-php-mail
Domein of IP nummer op zwarte lijst
De domeinnaam of het afzender adres kan ook echt op een zwarte lijst staan. Mogelijk is om een bepaalde reden besloten dat dit specifieke e-mailadres waarmee jij de mailing verstuurd in het verleden is gebruikt voor spamming en zodoende is het adres op een filter lijst gezet.
- Je kunt de ontvangers (klanten, abonnees, relaties) er op wijzen dat ze jouw e-mailadres op een whitelist moeten zetten. Zie http://www.emaildeliveryjedi.com/mywhitelist.php
Soorten SPAM filtering
Hoe weet je of je gefilterd wordt?
Geen reacties