is de mail() functie 100% te vertrouwen?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mic

mic

28/04/2006 18:54:00
Quote Anchor link
Hallo,

onlangs zelf een scriptje geschreven dat een mailtje moet verzenden naar mijjn contactenlijst. Nu merk ik dat niet iedereen die mail krijgt, nochtans geedft de mail() functie altijd 1 terug, wat toch zou moeten betekenen dat de mail aanvaard is door de ontvangende mailserver? Ben me ervan bewust dat dit inderdaad nog geen garantie is dat hij ook daadwerkelijk afgeleverd wordt, en dat de kans bestaat dat de ontvangende mailserver nog faalt de mail te bezorgen. Maar vermits het aantal mensen die de mail niet krijgt zodanig groot is, ondanks de positieve return vd mailfunctie, begin ik te denken dat de fout niet bij de ontvangende mailserver ligt maar misschine wel bij de mijne. Heeft hier nog al iemand problemen mee gehad of heeft er iemand een idee of er betere manier bestaat die meer zekerheid biedt?

Ben zeker niet op zoek naar een kant en klaar mailinglistprogramma, want daarvoor heb ik al teveel werk in het mijne gestoken ;) maar 'k vroeg me toch waarom die functie zoveel faalt.

Bedankt!
 
PHP hulp

PHP hulp

16/11/2024 13:36:48
 
Arjan Kapteijn

Arjan Kapteijn

28/04/2006 18:57:00
Quote Anchor link
Mail() zou in princiepe altijd wel moeten werken, daarbij is wel van belang dat je de juiste correcte headers meestuurd. Dat word nog wel eens vergeten.

Ik raad je aan om inplaats van de mail() functie de phpmailer class te gebruiken. Je hoeft hiervoor eigenlijk niks aan te passen (lees, minder dan 5 minuten werken) en ook die geeft gewoon true of false terug. Echter... die spreekt wat directer/correcter met de mailserver. Je kan dan ook een gebruikersnaam/wachtwoord opgeven enzo... net zoals in je outlook.
 
Mic

mic

28/04/2006 19:26:00
Quote Anchor link
bedankt voor je tip.
Denk niet dat ik die class kan gebruiken, mijn server ondersteund nog geen php5 :(

Dit zijn de headers die ik meestuur :

$headers = "From:mijn naam <mijn email>\r\n";
$headers.= "Reply-To: mijn email\r\n";
$headers.= "Content-Type: text/html; \r\n charset=\"iso-8859-1\"\r\n";

Is er nog andere info die ik in de headers moet steken? Denk niet dat het probleem daar aan zal liggen want soms wordt de mail wel correct afgeleverd en soms niet, met dezelfde header info...
 
Arjan Kapteijn

Arjan Kapteijn

28/04/2006 19:35:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
$headers    = 'MIME-Version: 1.0'. "\r\n";
$headers   .= 'Content-type: text/plain; charset=iso-8859-1'. "\r\n";
$headers   .= 'X-Priority: 3'. "\r\n";
$headers   .= 'X-MSMail-Priority: Normal'. "\r\n";
$headers   .= 'X-Mailer: PHP/'.phpversion().''."\r\n";
$headers   .= 'From: '.$vannaam.' <'.$vanemail.'>'."\r\n";


Eigenlijk zou je ook het ipadres moeten meesturen, die wilt google graag hebben...
Gewijzigd op 01/01/1970 01:00:00 door Arjan Kapteijn
 
Mic

mic

28/04/2006 20:23:00
Quote Anchor link
amai zoveel headers? Oej, misschien dat het daarom niet 100% werkt ;)

bedankt ik ga dit eens bekijken en wat uitdokteren.
Merci!
 
Mic

mic

02/05/2006 00:35:00
Quote Anchor link
ok heb dit eens getest en kom op een bizar probleem met volgende header :

$headers .= 'Content-type: text/plain; charset=iso-8859-1'. "\r\n";

heb naar twee adressen gestuurd : een gewoon hotmail adres en een telenet (pandora) adres. Als de content type text/plain is, komt deze op beide account normaal terecht. als ik echter de content type als text/html zet dan komt hij enkel op mijn hotmail adres terecht. Heeft iemand een idee hoe ik dit kan oplossen?

bedankt!
Gewijzigd op 01/01/1970 01:00:00 door mic
 
S -

S -

02/05/2006 01:17:00
Quote Anchor link
de mail() functie is te vertrouwen. Het is alleen niet 100% zeker dat de email aankomt. De kan onderweg nog vanalles fout gaan terwijl de functie succesvol is uitgevoerd.
 
- wes  -

- wes -

02/05/2006 08:50:00
Quote Anchor link
demail functie is wel goed, maar of de mail aankomt ligt meer bij je mailserver dan je script
 
- SanThe -

- SanThe -

02/05/2006 10:21:00
Quote Anchor link
Als de headers niet geheel correct zijn komt de mail vaak tussen de spam terecht.
 
- wes  -

- wes -

02/05/2006 10:22:00
Quote Anchor link
niet bepaald, spam lvl krijg je alleen omhoog door een ip of host te faken, bij foutive headers komt de mail niet aan, of met bijv verkeerd of geen replyto
 
Mic

mic

02/05/2006 16:09:00
Quote Anchor link
ok thanks! Weet er iemand wat er juist verkeerd is aan volgende header?

$headers .= 'Content-type: text/html; charset=iso-8859-1'. "\r\n";

Misschien ligt het aan een combinatie van twee headrs ofzo die niet samen horen?
 
Kalle P

Kalle P

02/05/2006 16:12:00
Quote Anchor link
$headers .= 'Content-type: text/html; charset=utf-8'.
 
Killerpuppy

Killerpuppy

02/05/2006 16:16:00
Quote Anchor link
het kan zijn dat de ontvangende mai server via de gewone mail functie het niet wil hwebben en als je een smtp mail funcite gebruikt dat hij het wel doet.

Ik denk dat dit te maken heeft met het azender adres van de mail server en het adres dat opgegeven is als verzeder.
 
Mic

mic

03/05/2006 13:36:00
Quote Anchor link
bedankt voor de ideeen maar niets helpt tot nu toe...

heb al uitvoerig getest en gezocht op internet, zonder resultaat. Het ligt gewoon aan dit ene lijntje :

'Content-type: text/plain; charset=iso-8859-1'. "\r\n";

zo komt hij perfect toe (maar niet in html), en met onderstaande header lukt het niet :

'Content-type: text/html; charset=iso-8859-1'. "\r\n";

Moet er misschien nog extra info bij als je html mails wilt versturen?
 
- wes  -

- wes -

03/05/2006 13:37:00
Quote Anchor link
MIME type bijv, kijk maar eens bij www.php.net/mail
 
Winston Smith

Winston Smith

03/05/2006 13:42:00
Quote Anchor link
Of zie deze tutorial. Zie vooral pagina 3 voor het verzenden van HTML mails.
 
Mic

mic

03/05/2006 15:42:00
Quote Anchor link
ok, bedankt voor de nieuwe ideeen. Door het voorbeeld vanop php.net te analyseren ben ik tot volgende vaststelling gekomen :

het probleem lag blijkbaar niet echt aan de headers maar aan de html code. Als ik de content type header naar text/plain veranderde deed het probleem zich niet voor, omdat de html code dan als gewone tekst aanzien werd. Maar nu zit ik dus met het volgende heel bizarre probleem :

ik kan blijkbaar de volgende code niet versturen :

<a href=http://www.jouwsite.nl><img src="http://www.jouwsite.nl/foto.jpg" width="100" height="100" border="0"></a>

terwijl volgende code geen probleem veroorzaakt :

<a href=http://www.jouwsite.nl> Dit is een gewone tekstlink </a>

Dus een link aan een figuur gekoppeld zorgt voor een conflict??? Ik heb dit uitvoerig getest en het is echt geen toeval. Alle mails met de link/figuur komen niet toe en alle mails met een gewone tekstlink komen wel toe!

Dit is echt bizar.....
 
- wes  -

- wes -

03/05/2006 15:46:00
Quote Anchor link
wat problemen kan geven bij een MIME html mail, zijn quotejes en het = teken, dat is namelijk gereserveerd.
 
Barman V

Barman V

03/05/2006 15:52:00
Quote Anchor link
Misschien is het GRATIS programma Groupmail iets voor je?
Het versturen van HTML mails naar minder dan 100 personen tegelijk is gratis.

Zelf heb ik de Personal edition. Deze verstuurd naar oneindig personen. Het is echt zo makkelijk in gebruik en het is veel betrouwbaarder dan de mail() van PHP, zeker als je het hebt over HTML emails.

Edit:
Je zegt
******************
Ben zeker niet op zoek naar een kant en klaar mailinglistprogramma, want daarvoor heb ik al teveel werk in het mijne gestoken ;) maar 'k vroeg me toch waarom die functie zoveel faalt.
******************

Waarom het wiel opnieuw uitvinden als je een prima kant en klaar programma hebt? Of wil je gewoon kennis opdoen?
Gewijzigd op 01/01/1970 01:00:00 door Barman V
 
Arend a

Arend a

03/05/2006 16:46:00
Quote Anchor link
Als je het wiel hebt uitgevonden heb je weer iets geleerd. Je kan een wiel maken, en ben je misschien wel geinspireerd en vind je nog meer dingen uit.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.