[PHP] PHPMailer hotmail spam?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb me laten aanraden om PHPMailer te gaan gebruiken voor mails, omdat deze de headers correct verzenden en ik er dan zelf weinig werk aan heb. Ook zouden mails perfect moeten aankomen in de mailbox van een hotmailgebruiker, maar deze komt echter in de spambox terecht. Ik vroeg me af of iemand een oplossing weet zodat de e-mail direct in de inbox komt ipv de map ongewenst..
Dit is een stukje code:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
    /**
     * Signup
     * 
     * @access public
     * @static
     * @return mixed
     */
    static public function signup($naam, $email, $lijst) 
    {
        // Generate random key
        $key  = Utils::generate_random_string(10);
        $mail = new PHPMailer();
        
        // Mail sturen
        $body  = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n";
        $body .= "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"nl\" lang=\"nl\">\n";
        $body .= "<head>\n";
        $body .= "<meta http-equiv=\"content-type\" content=\"text/html; charset=iso-8859-1\" />\n";
        $body .= "<meta name=\"author\" content=\"<knip>\" />\n";
        $body .= "<title>Activatiemail</title>\n";
        $body .= "</head>\n";
        $body .= "<body>\n";
        $body .= "Beste <strong>".$naam."</strong>,<br />\n";
        $body .= "<br />\n";
        $body .= "Je hebt je zojuist ingeschreven op <knip> om je aan te melden op de mailinglist.<br />\n";
        $body .= "Het enige wat je nu nog moet doen is je account activeren om je inschrijving te voltooien.<br />\n";
        $body .= "Dit kan je doen door op onderstaande link te klikken, die je account zal activeren.<br />\n";
        $body .= "<hr />\n";
        $body .= "<a href=\"".URL."activeren.php?key=".$key."\">".URL."activeren.php?key=".$key."</a>\n";
        $body .= "<hr />\n";
        $body .= "<br />\n";
        $body .= "Veel plezier!<br /><br />\n";
        $body .= "Met vriendelijke groeten<br /><br />\n";
        $body .= "<knip>";
        $body .= "</body>";
        $body .= "</html>";
        
        $mail->AddReplyTo('info@<knip>.be', '<knip>');
        $mail->AddAddress($email, $naam);
        $mail->SetFrom('info@<knip>.be', '<knip>');
        $mail->Subject = 'Account activeren op <knip>!';
        $mail->AltBody = 'Om dit bericht te bekijken, gelieve een HTML-viewer te gebruiken!'; // optional - MsgHTML will create an alternate automatically
        $mail->MsgHTML($body);
        
        if (!$mail->Send()) {
            die("Mail mislukt: " . $mail->ErrorInfo);
        }
    }


Waar er <knip> mag je er van uitgaan dat het een valide naam/adres is.

Acties:
  • 0 Henk 'm!

  • djexplo
  • Registratie: Oktober 2000
  • Laatst online: 07-07 15:40

'if it looks like a duck, walks like a duck and quacks like a duck it's probably a duck'


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Geloof me, heb ik al gedaan, maar nog geen sluitende oplossing gevonden voor het probleem...

Acties:
  • 0 Henk 'm!

  • gertvdijk
  • Registratie: November 2003
  • Laatst online: 18-09 11:40
Zolang je van Hotmail/Windows Live niet kan zien *waarom* de mail wordt gezien als ongewenst/spam, dan is het vrij lastig debuggen. Je kan wel standaard dingen checken:
  • Mailserver goed geconfigureerd? HELO moet kloppen, bijv.
  • server op 'datacenter IP' en niet op dynamisch IP?
  • shared hosting account of private IP? in geval van shared hosting kan iemand anders zorgen voor 'blokkade' van IP.
  • MX records van domein goed?
  • SPF record ok? Mag de webserver mailen met als envelope-from user@<knip>.be? Zo nee, fix dat of pak de mailserver als uitgaande server (relay).
  • Komt mail op andere wijze verstuurd wel aan in de Hotmail/Live boxen?
etc. Er is vast wel ergens een lijst waar je dit soort standaard dingen kan vinden. Je vertelt ook niet wat je allemaal hebt geprobeerd, dus is glazen bol kijken zo. ;)

[ Voor 13% gewijzigd door gertvdijk op 18-06-2009 19:08 ]

Kia e-Niro 2021 64 kWh DynamicPlusLine. See my GitHub and my blog for articles on security and other stuff.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
gertvdijk schreef op donderdag 18 juni 2009 @ 19:05:
Zolang je van Hotmail/Windows Live niet kan zien *waarom* de mail wordt gezien als ongewenst/spam, dan is het vrij lastig debuggen. Je kan wel standaard dingen checken:
  • Mailserver goed geconfigureerd? HELO moet kloppen, bijv.
  • server op 'datacenter IP' en niet op dynamisch IP?
  • shared hosting account of private IP? in geval van shared hosting kan iemand anders zorgen voor 'blokkade' van IP.
  • MX records van domein goed?
  • SPF record ok? Mag de webserver mailen met als envelope-from user@<knip>.be? Zo nee, fix dat of pak de mailserver als uitgaande server (relay).
  • Komt mail op andere wijze verstuurd wel aan in de Hotmail/Live boxen?
etc. Er is vast wel ergens een lijst waar je dit soort standaard dingen kan vinden. Je vertelt ook niet wat je allemaal hebt geprobeerd, dus is glazen bol kijken zo. ;)
Kan inderdaad niet zien in de headers wat er voor fout zou zijn. Heb al de meeste oplossingen geprobeerd die ik hier op GoT vond maar allen zonder succes. Mail wordt nu wel verstuurd vanaf een VPS, weet niet of dit probleem is? Ik ga zometeen de MX en SPF record eens checken, hopen dat daar de fout zal liggen.

Acties:
  • 0 Henk 'm!

  • gertvdijk
  • Registratie: November 2003
  • Laatst online: 18-09 11:40
Verwijderd schreef op donderdag 18 juni 2009 @ 19:17:
Kan inderdaad niet zien in de headers wat er voor fout zou zijn. Heb al de meeste oplossingen geprobeerd die ik hier op GoT vond maar allen zonder succes. Mail wordt nu wel verstuurd vanaf een VPS, weet niet of dit probleem is? Ik ga zometeen de MX en SPF record eens checken, hopen dat daar de fout zal liggen.
Heb je de beschikking over een tweede mailserver? Dan kan je eens kijken wat de anti-spam software daarvan vindt. Als je wil mag je ook wel een mailtje proberen te sturen naar het adres in mijn profiel, dan kan ik voor je kijken wat er misgaat. :)
Als last resort kan je altijd nog een SenderID aanvragen bij MS, wat relatief veel werk is en vooral MS-only is.

[ Voor 7% gewijzigd door gertvdijk op 18-06-2009 19:20 ]

Kia e-Niro 2021 64 kWh DynamicPlusLine. See my GitHub and my blog for articles on security and other stuff.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
gertvdijk schreef op donderdag 18 juni 2009 @ 19:19:
[...]

Heb je de beschikking over een tweede mailserver? Dan kan je eens kijken wat de anti-spam software daarvan vindt. Als je wil mag je ook wel een mailtje proberen te sturen naar het adres in mijn profiel, dan kan ik voor je kijken wat er misgaat. :)
Als last resort kan je altijd nog een SenderID aanvragen bij MS, wat relatief veel werk is en vooral MS-only is.
Heb jou eens een testmail verstuurd. MX server ziet er correct uit.

Acties:
  • 0 Henk 'm!

  • cariolive23
  • Registratie: Januari 2007
  • Laatst online: 18-10-2024
Ook zouden mails perfect moeten aankomen in de mailbox van een hotmailgebruiker, maar deze komt echter in de spambox terecht.
Nou, wanneer email perfect in de mailbox zou komen, dan zou de hoeveelheid spam nog veel groter zijn.

Zelf het wiel uitvinden is een slecht plan, zeker wanneer je niet weet hoe email werkt. PHPMailer zorgt al voor goede headers en vele andere zaken waar maar weinig mensen kaas van hebben gegeten, maar kan helemaal niets veranderen aan zo'n 1000-en-1 andere dingen, denk daarbij o.a. aan de DNS instellingen van jouw server, de spam-instellingen van vele andere servers, etc. etc. etc.

Het gebruik van een goed uitgangspunt zoals bv. PHPmailer, is een goede start maar geen enkele garantie op succes. Wanneer jij zelf een scriptje inelkaar gaat prutsen zonder dat je de ins en outs van email kent, dat is een achterstand die je vrijwel onmogelijk goed kunt maken. Met PHPmailer ben je leuk op weg, maar er zijn wellicht nog vele andere uitdagingen te gaan.

Succes!

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
cariolive23 schreef op donderdag 18 juni 2009 @ 19:36:
[...]

Nou, wanneer email perfect in de mailbox zou komen, dan zou de hoeveelheid spam nog veel groter zijn.

Zelf het wiel uitvinden is een slecht plan, zeker wanneer je niet weet hoe email werkt. PHPMailer zorgt al voor goede headers en vele andere zaken waar maar weinig mensen kaas van hebben gegeten, maar kan helemaal niets veranderen aan zo'n 1000-en-1 andere dingen, denk daarbij o.a. aan de DNS instellingen van jouw server, de spam-instellingen van vele andere servers, etc. etc. etc.

Het gebruik van een goed uitgangspunt zoals bv. PHPmailer, is een goede start maar geen enkele garantie op succes. Wanneer jij zelf een scriptje inelkaar gaat prutsen zonder dat je de ins en outs van email kent, dat is een achterstand die je vrijwel onmogelijk goed kunt maken. Met PHPmailer ben je leuk op weg, maar er zijn wellicht nog vele andere uitdagingen te gaan.

Succes!
Hotmail's spam filter lijkt me toch wel een geval apart als je het zo ziet. Ervaring zat met PHP, maar van e-mails heb ik inderdaad niet veel kaas gegeten.. O-)

Acties:
  • 0 Henk 'm!

  • gertvdijk
  • Registratie: November 2003
  • Laatst online: 18-09 11:40
Verwijderd schreef op donderdag 18 juni 2009 @ 19:33:
Heb jou eens een testmail verstuurd. MX server ziet er correct uit.
Jep, mijn SpamAssassin software ziet dan ook helemaal niets 'verdachts' aan je e-mail. Integendeel zelfs, het vermoeden van legitieme mail is zeer sterk aanwezig. Ik denk dat je hiermee configuratiefouten en het op een blacklist staan nagenoeg kan uitsluiten. Waarom Hotmail/Live je mail nog als spam ziet kan wat mij betreft alleen nog liggen aan:
  • PHP-mailer als Agent in de header kan bijdragen aan de score
    code:
    1
    
    X-Mailer: PHPMailer 5.0.2 (<hostname>)

    evenals de volgende header:
    code:
    1
    
    X-PHP-Script: path/to/script/file.php for 91.182.x.x
  • IP (range) door MS zelf geblockt.
  • De link in de e-mail
  • Andere Hotmail/Live gebruikers hebben mail vanaf jouw server als ongewenst aangemerkt.
MX records zien er goed uit, maar ik heb wel een vraag: waarom heb je twee identieke MX records staan? ze pointen allebei naar hetzelfde IP.
Mijn eigen checks laten ook een zeer goede config zien. Niets op aan te merken. d:)b

Kia e-Niro 2021 64 kWh DynamicPlusLine. See my GitHub and my blog for articles on security and other stuff.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
gertvdijk schreef op donderdag 18 juni 2009 @ 20:03:
[...]

Jep, mijn SpamAssassin software ziet dan ook helemaal niets 'verdachts' aan je e-mail. Integendeel zelfs, het vermoeden van legitieme mail is zeer sterk aanwezig. Ik denk dat je hiermee configuratiefouten en het op een blacklist staan nagenoeg kan uitsluiten. Waarom Hotmail/Live je mail nog als spam ziet kan wat mij betreft alleen nog liggen aan:
  • PHP-mailer als Agent in de header kan bijdragen aan de score
    code:
    1
    
    X-Mailer: PHPMailer 5.0.2 (<hostname>)

    evenals de volgende header:
    code:
    1
    
    X-PHP-Script: path/to/script/file.php for 91.182.x.x
  • IP (range) door MS zelf geblockt.
  • De link in de e-mail
  • Andere Hotmail/Live gebruikers hebben mail vanaf jouw server als ongewenst aangemerkt.
MX records zien er goed uit, maar ik heb wel een vraag: waarom heb je twee identieke MX records staan? ze pointen allebei naar hetzelfde IP.
Mijn eigen checks laten ook een zeer goede config zien. Niets op aan te merken. d:)b
Heb wat zitten foefelen en testen aan de MX records, waaronder voor beide linken maar geen enkele doet hem recht naar de inbox gaan. En de header X-PHP-Script kan ik er niet uithalen, vind hem nergens terug dus ik vermoed dat hij deze automatisch toevoegt aan de header.

Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Gebruik je de php mail functie of zet je een smtp server neer (beide zijn mogelijk met phpMailer namelijk). Als je het eerste hebt gedaan: switch naar de tweede . De X-PHP-Script header komt door het gebruik van de php mail() functie namelijk :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
mithras schreef op vrijdag 19 juni 2009 @ 08:22:
Gebruik je de php mail functie of zet je een smtp server neer (beide zijn mogelijk met phpMailer namelijk). Als je het eerste hebt gedaan: switch naar de tweede . De X-PHP-Script header komt door het gebruik van de php mail() functie namelijk :)
Jep, stuur 'm gewoon via PHP mail() eigenlijk..., misschien eens proberen met een smtp idd..

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 00:16

Matis

Rubber Rocket

Tip:

Waarom het wiel opnieuw uitvinden ;)

http://framework.zend.com/manual/en/zend.mail.html

Het probleem zal hem waarschijnlijk zitten in de header. Vergelijk jouw PHP header eens met die van een gevalideerd mailtje en kijk waar het fout gaat

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Matis schreef op vrijdag 19 juni 2009 @ 12:14:
Tip:

Waarom het wiel opnieuw uitvinden ;)

http://framework.zend.com/manual/en/zend.mail.html

Het probleem zal hem waarschijnlijk zitten in de header. Vergelijk jouw PHP header eens met die van een gevalideerd mailtje en kijk waar het fout gaat
Tip: lees eens het hele topic ;)

Zend_Mail is een prima stukje software, maar PhpMailer doet er echt niet voor onder hoor :)

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 00:16

Matis

Rubber Rocket

mithras schreef op vrijdag 19 juni 2009 @ 13:27:
[...]
Tip: lees eens het hele topic ;)
Been there, done that.
Zend_Mail is een prima stukje software, maar PhpMailer doet er echt niet voor onder hoor :)
Ik wilde alleen aangeven dat er meerdere libraries zijn om de hele meuk mee te fixen. Onder water gebeurt er uiteindelijk hetzelfde, maar de benadering is soms net iets fijner.
De keus is natuurlijk aan de TS.

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Matis schreef op vrijdag 19 juni 2009 @ 13:46:
[...]

Been there, done that.

[...]

Ik wilde alleen aangeven dat er meerdere libraries zijn om de hele meuk mee te fixen. Onder water gebeurt er uiteindelijk hetzelfde, maar de benadering is soms net iets fijner.
De keus is natuurlijk aan de TS.
Ik gebruik ZF al heel lang, al van bij versie 1.0 voor al mijn projecten, maar voor een klein script zoals dit vond ik het niet nodig en heb ik gewoon phpmailer gebruikt. Heb het probleem trouwens kunnen oplossen. Op aanraden van een vriend in de class phpmailer de lijn 571

PHP:
1
$params = sprintf("-oi -f %s", $this->Sender);


veranderd naar

PHP:
1
$params = sprintf("-f %s", $this->Sender);


En alle mails komen perfect toe bij hotmail.

Acties:
  • 0 Henk 'm!

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 24-08 20:35
Verwijderd schreef op vrijdag 19 juni 2009 @ 17:17:
[...]


Ik gebruik ZF al heel lang, al van bij versie 1.0 voor al mijn projecten, maar voor een klein script zoals dit vond ik het niet nodig en heb ik gewoon phpmailer gebruikt. Heb het probleem trouwens kunnen oplossen. Op aanraden van een vriend in de class phpmailer de lijn 571

PHP:
1
$params = sprintf("-oi -f %s", $this->Sender);


veranderd naar

PHP:
1
$params = sprintf("-f %s", $this->Sender);


En alle mails komen perfect toe bij hotmail.
In dat geval zou je script ook prima moeten werken met een SMTP server, zonder de extra command line switch voor de mail() functie. Met een SMTP server heb je iets meer zekerheid dat je mail ook daadwerkelijk verstuurd wordt (anders wordt hij waarschijnlijk niet geaccepteerd door de mailserver).

If I can't fix it, it ain't broken.


Acties:
  • 0 Henk 'm!

  • Freeaqingme
  • Registratie: April 2006
  • Laatst online: 19-09 20:56
Iemand die kan vertellen waar -io voor staat in dit geval? Het lijkt me niet dat het sendmail params zijn?

No trees were harmed in creating this message. However, a large number of electrons were terribly inconvenienced.

Pagina: 1