[PHP] Mail script met spam

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • xenor
  • Registratie: Oktober 2004
  • Laatst online: 26-12-2024
Hallo,

Na veel topic gelezen te hebben hier op het forum kom ik er toch niet uit. Wanneer ik een mail probeer te verzenden met mijn php mail function, komt het mailtje in de spambox van Gmail terecht. Nu heb ik gelezen dat er mogelijk iets niet goed kan zijn aan mijn headers.
Mis ik iets in mijn headers?

code:
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
<?php
error_reporting(E_ALL);
ini_set("display_errors",1);

$emailadres = Trim(stripslashes($_POST['emailadres']));


$EmailFrom = $emailadres;
$EmailTo = "mijngmail@gmail.com";
$Subject = "Onderwerp";

//bericht 1
$message = "<HTML><HEAD<TITLE></TITLE></HEAD><BODY>

Geachte heer/mevrouw,<br /><br />" .

Dit is een test mail,<br />

groeten
</BODY></HTML>";

// bericht 2

$bevestigingsmailtekst = 'Geachte heer/mevrouw,<br /><br />
Dit is de bevestigingsmail' <br />;


$headers1  = 'MIME-Version: 1.0' . "\r\n";
$headers1 .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers1 .= "From: <" .$emailadres . ">";


$headers2  = 'MIME-Version: 1.0' . "\r\n";
$headers2 .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers2 .= "From: <" . $EmailTo . ">";

$success1 = mail($EmailTo, $Subject, $message, $headers1);
$success2 = mail($emailadres, "RE: Onderwerp", $bevestigingsmailtekst , $headers2);

header('Location: http://www.hostingvoorbeeld.nl/bedankt.html');
?>


Kan iemand me vertellen wat er niet klopt aan mijn code en waardoor die dus in de SPAM-box van Gmail terecht komt?

-


Acties:
  • 0 Henk 'm!

  • Japius
  • Registratie: April 2003
  • Laatst online: 30-08 20:57
Ik zou je aanraden eens te kijken naar PHPMailer. Scheelt je een hoop geneuzel. Laat je niet afschrikken door het spammy uiterlijk van de site, maar kijk gelijk even bij een tutorial.

Acties:
  • 0 Henk 'm!

  • xenor
  • Registratie: Oktober 2004
  • Laatst online: 26-12-2024
Het is een heel simpel mailtje wat verstuurd moet worden dmv een php script. Daarom had ik gekozen om zo het te maken en niet via php-mailer.
Valt het niet zonder het programma op te lossen?

In ieder geval bedankt voor je reactie

-


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
xenor schreef op woensdag 24 juni 2009 @ 14:20:
Hallo,

Na veel topic gelezen te hebben hier op het forum kom ik er toch niet uit.
...
Kan iemand me vertellen wat er niet klopt aan mijn code en waardoor die dus in de SPAM-box van Gmail terecht komt?
Grappig; je spreekt jezelf tegen ;)
Als je veel gelezen hebt heb je zat topics gevonden waar a) PHP mailer wordt aangedragen b) over headers wordt gebabbeld (en verkeerde SPF records etc. als overige mogelijke oorzaken). Je hebt werkelijk alleen maar de bare-essentials aan headers.

[ Voor 32% gewijzigd door RobIII op 24-06-2009 14:49 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • xenor
  • Registratie: Oktober 2004
  • Laatst online: 26-12-2024
klopt maar zodra ik wil beginnen met php mailer word er gevraagd naar de smtp server. Die heb ik niet want het draait gewoon op een hosting en niet bij mijzelf? Klopt dit? smtp.mijnwebsite.nl is het in ieder geval niet.

-


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Dan zet je 'm op smtp.host.nl? Of neem je even contact op met je hoster (of je kijkt op de support pagina's van je hoster)? Of denk ik nou zo moeilijk?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
xenor schreef op woensdag 24 juni 2009 @ 14:54:
klopt maar zodra ik wil beginnen met php mailer word er gevraagd naar de smtp server. Die heb ik niet want het draait gewoon op een hosting en niet bij mijzelf? Klopt dit? smtp.mijnwebsite.nl is het in ieder geval niet.
Op een gemiddelde webhost is meestal wel een smtp beschikbaar. Misschien moet je gewoon 'localhost' instellen. Enfin, dit is iets dat je vast wel kan vinden op de help/faq van je provider.

Hoe denk je dat de mail() functie werkt...

[ Voor 4% gewijzigd door Noork op 24-06-2009 15:01 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
offtopic:
$emailadres = Trim(stripslashes($_POST['emailadres']));

Stripslashes? Want... :?

[ Voor 60% gewijzigd door RobIII op 24-06-2009 15:03 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • jbdeiman
  • Registratie: September 2008
  • Laatst online: 12:45
Mogelijk moet je nog een aantal andere dingen toevoegen als: Reply to en return path. Lijkt mij in elk geval wel logisch. Probeer dat eens.

En anders kan je altijd nog even toch een PHPMailer of SwiftMailer downloaden en kijken hoe die met de headers omgaan.

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Verder is je script nogal gevoelig om misbruikt te worden door spammers, doordat je e-mail adress zo overneemt uit je post.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Nu online

Creepy

Tactical Espionage Splatterer

Als je wilt weten waarom je mail in de spamfilter ligt dan is spamassassin redelijk bruikbaar. Vanaf een commandline kan je namelijk spamassassin voeren met de mail en dan rollen daar als het goed is wat punten uit waar je wat aan zou moeten doen.

Er zijn ook (gratis) services beschikbaar op het internet (even googlen dus) die je de mail kan voeren of die je moet mailen en dan een aantal punten terug krijgt.

Er is niet een bepaald iets in je code of headers dat het altijd zomaar kan fixen. Er kan veel meer aan de hand zijn (bijv een verkeerde HELO van de machine die de mail verstuur en daar doe je met je eigen code vrij weinig aan ;) ). Daarnaast test je echt met een minimale mail qua content. Spamfilters letten ook op de inhoud van de mail. Ga dus testen met mails die qua inhoud erg overeenkomen met de mails die je gaat versturen. Een mailtje met "dit is de bevestigingsmail" gaat qua content nergens over.

De rest is allemaal ruis. Ja PHPMailer doet wat dingen standaard voor je maar dan nog bestaat de kans dat de mail in de spamfilter ligt.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • xenor
  • Registratie: Oktober 2004
  • Laatst online: 26-12-2024
dank jullie voor jullie duidelijk reacties. Ik zal met phpmailer aan de slag gaan ook al heb ik het vermoeden dat dat het probleem niet oplost maar het is de moeite waard, anders post ik het in dit topic ;)

-


Acties:
  • 0 Henk 'm!

  • Jochemmol
  • Registratie: Augustus 2004
  • Laatst online: 07-05-2014
Ik ken je probleem.
Ik heb het simpel opgelost.

Inderdaad headers zijn belangrijk.
code:
1
2
3
4
5
6
7
8
9
10
Date:
Message-ID: 
X-Envelope-From: 
Return-Path:

X-Priority: 
X-MSMail-Priority: 
X-Mailer:  
X-MimeOLE: 
Importance:

Niet alle headers zijn nodig. en je kan makkelijk op google vinden welke gegevens je kan invullen.

Mijn oplossing was dat ik in de php.ini geen sendmail_from had staan, daarom kwam er localhost te staan.
Met die headers en een goede sendmail_from was het opgelost.

Jochemmol


Acties:
  • 0 Henk 'm!

  • hostname
  • Registratie: April 2009
  • Laatst online: 17-09 17:56
RobIII schreef op woensdag 24 juni 2009 @ 15:02:
offtopic:
$emailadres = Trim(stripslashes($_POST['emailadres']));

Stripslashes? Want... :?
offtopic:
magic_quotes_gpc (:X) waarschijnlijk?


@above:
sendmail_from kan je ook net zo goed in de From: header instellen, heb je het niet meteen system-wide aangepast (wat als je op 1 server voor 2 verschillende sites wilt mailen?)

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
offtopic:
want er hoort een ", ' of \ in een e-mail adres te zitten? Als er dus al een \ in zit zou je het e-mail adres zowiezo al af moeten keuren.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • Jochemmol
  • Registratie: Augustus 2004
  • Laatst online: 07-05-2014
hostname schreef op donderdag 25 juni 2009 @ 14:57:
[...]

offtopic:
magic_quotes_gpc (:X) waarschijnlijk?


@above:
sendmail_from kan je ook net zo goed in de From: header instellen, heb je het niet meteen system-wide aangepast (wat als je op 1 server voor 2 verschillende sites wilt mailen?)
Ik had dat ook geprobeer maar dat werkte niet.
Overigens hoef je het niet in je php.ini ook in te stellen.
Dat kan gewoon met ini_set();
Bij mij was dat het probleem. En kon ik het niet oplossen met een header. Op de achtergrond stuurde PHP ook gewoon de sender_from mee en omdat hij leeg was kwam er automatisch localhost te staan

Jochemmol


Acties:
  • 0 Henk 'm!

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

NMe

Quia Ego Sic Dico.

Woy schreef op donderdag 25 juni 2009 @ 15:02:
[...]

offtopic:
want er hoort een ", ' of \ in een e-mail adres te zitten? Als er dus al een \ in zit zou je het e-mail adres zowiezo al af moeten keuren.
The local-part of the e-mail address may use any of these ASCII characters:
  • Uppercase and lowercase English letters (a-z, A-Z)
  • Digits 0 through 9
  • Characters ! # $ % & ' * + - / = ? ^ _ ` { | } ~
  • Character . (dot, period, full stop) provided that it is not the first or last character, and provided also that it does not appear two or more times consecutively.
Additionally, quoted-strings (ie: "John Doe"@example.com) are permitted, thus allowing characters that would otherwise be prohibited, however they do not appear in common practice. RFC 5321 also warns that "a host that expects to receive mail SHOULD avoid defining mailboxes where the Local-part requires (or uses) the Quoted-string form".

[..]

Notwithstanding the addresses permitted by these standards, some systems impose more restrictions on e-mail addresses, both in e-mail addresses created on the system and in e-mail addresses to which messages can be sent.
;)

'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!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Ok I stand corrected, ik heb het gebruik ervan ieder geval nog nooit gezien :)

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”

Pagina: 1