[PHP] mail komt niet aan bij 12move, anderen wel

Pagina: 1
Acties:
  • 293 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • edwin.w
  • Registratie: Januari 2005
  • Laatst online: 07-09-2023
Heb een webshop gebouwd in PHP. Na een bestelling wordt er naar de klant een email met een bevestiging verzonden. Nu komen deze emails bij allerlei verschillende providers wél aan (SpeedXS, DutchWeb, Chello, HotMail), alleen bij de provider 12move komen de emails NIET aan. Weet iemand waar dit aan kan liggen ?

[ Voor 3% gewijzigd door edwin.w op 24-03-2005 23:37 ]

Met vriendelijke groet, Edwin.


Acties:
  • 0 Henk 'm!

  • Arjan A
  • Registratie: November 2000
  • Laatst online: 12:24

Arjan A

Cenosillicafoob

Kan liggen aan het return-path dat door de mailer daemon wordt toegevoegd:
code:
1
Return-Path: <nobody@xxx.xxxxxxx.net>

Ik heb hetzelfde gehad bij Planet, ik mailde onder domein X, maar het return-path is dat van de server zelf (z'n eigen machinenaam). Planet beschouwde het daarom als spam.

Canon EOS | DJI M2P
Fotoblog · Mijn werk aan jouw muur


Acties:
  • 0 Henk 'm!

  • Brothar
  • Registratie: Oktober 2000
  • Laatst online: 22-08 21:33

Brothar

meester

Tikfoutje in het script : 12move ingetikt met een ALT of CTRL toets per ongeluk ingetikt ?
Of denk 12move dat je een spammer bent, en wordt het daarom door 12move geblocked ?

eagle


Acties:
  • 0 Henk 'm!

  • edwin.w
  • Registratie: Januari 2005
  • Laatst online: 07-09-2023
De email-adressen worden normaal door de klanten zelf in een formulier opgegeven. Ik heb zelf - naast mijn ADSL abonnement - ook nog een gratis account bij 12move voor noodgevallen. Die gebruik ik nu om te testen. Naar allerlei providers kan ik vanuit de mailfunctie van PHP uitstekend mailtjes versturen, alleen niet naar 12move.

Het gekke is dat ik rechtstreeks vanuit Outlook prima kan mailen naar dat zelfde mailadres bij 12move, alleen via de mail-functie van PHP komen die mailtjes dus nooit aan.

[ Voor 53% gewijzigd door edwin.w op 24-03-2005 23:44 ]

Met vriendelijke groet, Edwin.


Acties:
  • 0 Henk 'm!

  • Arjan A
  • Registratie: November 2000
  • Laatst online: 12:24

Arjan A

Cenosillicafoob

edwin.w schreef op donderdag 24 maart 2005 @ 23:41:
Het gekke is dat ik vanuit Outlook prima kan mailen naar dat zelfde mailadres bij 12move, alleen via de mail-functie van PHP komen die mailtjes dus nooit aan.
Dat kan kloppen, PHP maakt dat return-path namelijk niet zelf aan met de mail()-functie.
Verwar het return-path overigens niet met het From:-veld of het Reply-to:-veld.

Canon EOS | DJI M2P
Fotoblog · Mijn werk aan jouw muur


Acties:
  • 0 Henk 'm!

  • edwin.w
  • Registratie: Januari 2005
  • Laatst online: 07-09-2023
Hoe zou ik dat return-path zelf in een betere waarde kunnen veranderen en wat zou dan een goede waarde zijn voor het return-path ?

Met vriendelijke groet, Edwin.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Door de header op te nemen die Arjan A noemt. Bekijk de documentatie van de mailfunctie maar om te zien hoe dat moet. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Arjan A
  • Registratie: November 2000
  • Laatst online: 12:24

Arjan A

Cenosillicafoob

edwin.w schreef op donderdag 24 maart 2005 @ 23:46:
Hoe zou ik dat return-path zelf in een betere waarde kunnen veranderen en wat zou dan een goede waarde zijn voor het return-path ?
Ik gooi er een extra header tegenaan in mijn eigen mailclass:
PHP:
1
2
3
<?
$header .= "Return-Path: <".$this->fromAddress.">\r\n"; 
?>

Die header voeg je toe met het vijfde argument van de mail()-functie.

[ Voor 7% gewijzigd door Arjan A op 24-03-2005 23:50 ]

Canon EOS | DJI M2P
Fotoblog · Mijn werk aan jouw muur


Acties:
  • 0 Henk 'm!

  • edwin.w
  • Registratie: Januari 2005
  • Laatst online: 07-09-2023
Heb deze extra header zoals hierboven voorgesteld even toegevoegd:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
      $headers = "";  
      $headers = $headers . "MIME-Version: 1.0\r\n"; 
      $headers = $headers . "Content-type: text/html; charset=iso-8859-1\r\n"; 
      $headers = $headers . "From: WebShop <******@****.speedxs.nl>\r\n";
      $headers = $headers . "Cc: " . "******@****.speedxs.nl" . "\r\n";
      $headers = $headers . "Reply-To: " . "******@****.speedxs.nl" . "r\n";  
      $headers = $headers . "Return-Path: <******@****.speedxs.nl>\r\n";  

      // verstuur mail

      if (mail($aan, $onderwerp, $bericht, $headers))
      {
        echo "Uw bestelling is verzonden ! <BR> \n";
        echo "Wij danken U voor Uw bestelling en dragen zorg voor een vlotte levering. <BR> \n";
        echo "U ontvangt een bevestiging op Uw emailadres: " . $_POST["mailadr"] . "<BR> \n";
      }


Maar helaas, de mail komt nog steeds niet aan bij 12move . . .
Als ik in het mailtje kijk dat PHP gemaakt heeft, dan zie ik staan:
Return-Path: <apache@damia.speedxs.net>
Dus heel wat anders dan wat ik in de header heb ingesteld ! Op de één of andere manier komt er toch een andere waarde in te staan.

Overigens, in al die headers, wanneer moet je daar eigenlijk < en > gebruiken om een emailadres heen ?

[ Voor 47% gewijzigd door edwin.w op 25-03-2005 00:06 ]

Met vriendelijke groet, Edwin.


Acties:
  • 0 Henk 'm!

  • Arjan A
  • Registratie: November 2000
  • Laatst online: 12:24

Arjan A

Cenosillicafoob

Ja, ik heb nog eens in mijn code gekeken; ik gebruik de PHP-mailer niet eens. Ik laat PHP rechtsreeks tegen sendmail praten:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
function mail($fromaddress, $toaddress, $subject, $body, $headers) {

  $fp = popen('/usr/sbin/sendmail -f'.$fromaddress.' '.$toaddress,"w");
  if(!$fp) return false;
  fputs($fp, "To: $toaddress\r\n");
  fputs($fp, "Subject: $subject\r\n");
  fputs($fp, $headers."\r\n\r\n");
  fputs($fp, $body);
  fputs($fp, "\r\n");
  pclose($fp);
  return true;
} 
?>

Canon EOS | DJI M2P
Fotoblog · Mijn werk aan jouw muur


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 13:44

Eijkb

Zo.

Om de vijfde parameter van php mail te gebruiken moet safemode disabled zijn. Een kleine ramp, maar het is niet anders.

.


Acties:
  • 0 Henk 'm!

  • Joen
  • Registratie: Juli 2003
  • Laatst online: 09-08 18:34
Ik gebruik ook de PHPMailer class en bij komt netjes het juiste emailadres er te staan, de zelfde als de from emailades.
Ik heb zelfs 2 keer "Return-Path:" er in staan zie ik in de broncode van het bericht. :X

* Joen is overigens ook bezig met het bouwen van een amateuristisch webshopje :P

[ Voor 5% gewijzigd door Joen op 25-03-2005 00:42 ]


Acties:
  • 0 Henk 'm!

Verwijderd

JeroenM_tbs schreef op vrijdag 25 maart 2005 @ 00:42:
Ik gebruik ook de PHPMailer class en bij komt netjes het juiste emailadres er te staan, de zelfde als de from emailades.
Dit komt volgens mij omdat PHPMailer een connectie maakt naar de juiste SMTP server en geen gebruik maakt van de sendmail binary.

Als safe_mode aanstaat is PHPMailer dan ook een heel goed alternatief

(je kunt de mail() functie overriden, zodat je in principe amper tot geen code hoeft aan te passen)

Acties:
  • 0 Henk 'm!

Verwijderd

Post eens de header van een mailtje wat wel is aangekomen..

Acties:
  • 0 Henk 'm!

  • Joen
  • Registratie: Juli 2003
  • Laatst online: 09-08 18:34
@Trebel:
Owja, dat klopt: ik laat PHPMailer direct naar SMTP-servers communiceren. Het werkt ietsje trager, maar volgens mij wel beter. :P

Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 00:18
JeroenM_tbs schreef op vrijdag 25 maart 2005 @ 10:37:
@Trebel:
Owja, dat klopt: ik laat PHPMailer direct naar SMTP-servers communiceren. Het werkt ietsje trager, maar volgens mij wel beter. :P
trager? In sommige gevallen is het juist veel sneller, sowieso als je de socket niet sluit...

|>


Acties:
  • 0 Henk 'm!

  • edwin.w
  • Registratie: Januari 2005
  • Laatst online: 07-09-2023
Hierbij ter informatie even de headers van een tweetal mailtjes aan het zelfde emailadres bij 12move.

1. Deze komt WEL aan bij 12move, is gewoon verstuurd vanuit Outlook (N.B. merk op dat het Return-Path hier niet in is gevuld):

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Return-Path: 
Original-Recipient: rfc822;*****.********@12move.nl
Received: from mail-mx-00.tiscali.nl (195.241.79.166) by mail-8-bnl-nl.tiscali.it (7.2.052)
        id 4211C9E601A2560A for sh664032@12move.nl; Sat, 26 Mar 2005 09:26:31 +0100
Received: from [83.98.255.13] (helo=basillia.speedxs.net)
  by mail-mx-00.tiscali.nl with esmtp (Tiscali http://www.tiscali.nl)
  id 1DF6cp-0007b4-OW
  for ; Sat, 26 Mar 2005 09:26:31 +0100
Received: from PENTIUM4 (****.speedxs.nl [***.***.***.***])
  by basillia.speedxs.net (Postfix) with SMTP id 9AFCB18012
  for ; Sat, 26 Mar 2005 09:26:29 +0100 (CET)
Message-ID: <000901c531dd$834f1a60$0d00000a@PENTIUM4>
From: "***** ********" 
To: "***** ******** (12move)" 
Subject: Nog een testbericht
Date: Sat, 26 Mar 2005 09:26:28 +0100
MIME-Version: 1.0
Content-Type: multipart/alternative;
  boundary="----=_NextPart_000_0006_01C531E5.E36FE480"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.2527
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2527


2. En deze komt in het geheel NIET (overigens zonder enige foutmelding) aan bij 12move, is verstuurd door het PHP-script (N.B. merk op dat het Return-Path hier wel is ingevuld):

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Return-Path: <apache@damia.speedxs.net>
X-Original-To: *******@****.speedxs.nl
Delivered-To: *****@****.speedxs.nl
Received: from basillia.speedxs.net (basillia.speedxs.net [83.98.255.13])
    by callantha.speedxs.net (Postfix) with ESMTP id C74307501C
    for <*******@****.speedxs.nl>; Sat, 26 Mar 2005 09:20:56 +0100 (CET)
Received: from damia.speedxs.net (damia.speedxs.net [83.98.255.17])
    by basillia.speedxs.net (Postfix) with ESMTP id 2C344741E;
    Sat, 26 Mar 2005 09:20:56 +0100 (CET)
Received: by damia.speedxs.net (Postfix, from userid 81)
    id 94A84760B1; Sat, 26 Mar 2005 09:14:58 +0100 (CET)
To: *****.********@12move.nl
Subject: Mijn bestelling ordernummer 000046 d.d. 26-03-2005
MIME-Version: 1.0
Content-type: text/html; charset=iso-8859-1
From: ******* <*******@****.speedxs.nl>
Cc: *******@****.speedxs.nl
Reply-To: *******@****.speedxs.nlr
X-Sender: Apache
X-Mailer: PHP5
X-Priority: 3
Message-Id: <20050326081458.94A84760B1@damia.speedxs.net>
Date: Sat, 26 Mar 2005 09:14:58 +0100 (CET)


Verder is opmerkelijk, dat er in de mail die verstuurd is vanuit het PHP-script, tóch een Return-Path staat, ondanks alle headers die ik al in heb gesteld (zie mijn eerdere bericht ergens hier boven) en ondanks een .htaccess bestand waarin vermeld staat:

php_value sendmail_from *******@****.speedxs.nl

Als ik met de functie phpinfo() dan kijk wat de Local Value is van de Configuration Directive sendmail_from, dan zie ik netjes staan *******@****.speedxs.nl, maar toch komt er uiteindelijk in het mailtje de waarde apache@damia.speedxs.net te staan !

De mailtjes vanuit het PHP-script komen dus bij allerlei andere providers (DutchWeb, SpeedXS, Chello en zelfs bij HotMail) gewoon aan.

Heb ook nog geprobeerd om de extra "-f" parameter mee te geven aan de mail() functie, maar dan volgt er een foutmelding, omdat Safe Mode aanstaat. We zijn overigens onlangs geupdate naar PHP 5.0.2 als dat nog wat uit mocht maken.

[ Voor 7% gewijzigd door edwin.w op 26-03-2005 09:51 ]

Met vriendelijke groet, Edwin.


Acties:
  • 0 Henk 'm!

  • edwin.w
  • Registratie: Januari 2005
  • Laatst online: 07-09-2023
Heb niks aan mijn scriptje veranderd, maar ineens komt er helemaal geen enkel mailtje meer aan ! Dus niet alleen maar 12move mailtjes komen niet aan maar opeens komt geen enkel mailtje meer aan. Mijn klanten kunnen geen bestellingen meer plaatsen dus. Is het mogelijk dat de provider een instelling heeft veranderd of zo ? Mijn provider is SpeedXS.

[ Voor 18% gewijzigd door edwin.w op 31-03-2005 23:07 ]

Met vriendelijke groet, Edwin.


Acties:
  • 0 Henk 'm!

Verwijderd

Wat betreft het Return-Path instellen:
wellicht gebruikt je provider waar het script wordt gerund een andere mailserver.
Mijn provider gebruikte Postfix en die stelde zelf een Return-Path in en overrulede (!?) mijn handmatig instelling. Was volgens hun een instelling die ze niet konden / wilden veranderen ter beveiliging.
Zwaar irritant dus!

Acties:
  • 0 Henk 'm!

  • edwin.w
  • Registratie: Januari 2005
  • Laatst online: 07-09-2023
Ja dat is dus precies wat ik ook krijg. Al mijn handmatige instellingen worden kennelijk geoverruled door een instelling van de provider SpeedXS. En zo komt er dus zonder dat ik dat wil Return-Path: <apache@damia.speedxs.net>
terecht in de headers van alle mailtjes die ik met de mail-functie van PHP verstuur. En die komen - zonder enige foutmelding - NIET aan bij 12move en wel bij een flink aantal andere providers.

Iemand misschien een suggestie wat ik hiermee kan ?

Met vriendelijke groet, Edwin.


Acties:
  • 0 Henk 'm!

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
heb je je ip al door de dnsbl etc heengehaald? :)
Pagina: 1