Avatar billede moddi100 Seniormester
15. marts 2008 - 12:40 Der er 64 kommentarer og
1 løsning

mail() opfattes som spam

Hejsa

Jeg har det problem at når der sendes en mail med mail()-funktionen opfattes det af spamfiltre som spam. Det er lidt irriterende, da jeg sender mails til alle nyoprettede brugere på mit website.

Er det muligt at proppe en eller anden stump kode ind, der gør at det ikke opfattes som spam??

$modtager =  "jens@hotmail.com";
$emne = "Din bruger er nu oprettet!";
$besked = "Tillykke med din nye bruger...";
$header = "webmaster@domæne.dk";

mail($modtager, $emne, $besked, $header);
Avatar billede showsource Seniormester
15. marts 2008 - 13:15 #1
Den her:
$header = "webmaster@domæne.dk";
skal da vist være
$header = "From:webmaster@domæne.dk";
Om det gør nogen forskel ( spam <> not spam ) ved jeg ikke
Avatar billede leif Seniormester
15. marts 2008 - 13:25 #2
Du mangler headers som er det fx. en Text eller HTML email
Avatar billede moddi100 Seniormester
15. marts 2008 - 13:32 #3
Det skal bare være en ganske normal text mail.
Avatar billede leif Seniormester
15. marts 2008 - 13:35 #4
Så sæt det.

med fx.
$header = "From: webmaster@domæne.dk\r\nContent-Type: text/plain; charset=ISO-8859-1; format=flowed";
Avatar billede leif Seniormester
15. marts 2008 - 13:37 #5
Send nogen mails til dig selv fra dit mailprogram og kig på hvilke headers der sættes

Ved en almindelig text email sendt fra Thunderbird sættes fx:
From: "Navn" <e@mail.tld>
User-Agent: Thunderbird 2.0.0.12 (Windows/20080213)
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Avatar billede moddi100 Seniormester
15. marts 2008 - 13:39 #6
kunne man ikke osse bare skrive;

$header = "From:webmaster@domæne.dk";
$header = "Content-Type: text/plain; charset=ISO-8859-1; format=flowed";

For mig ville det i hvert fald være mere overskueligt. Men det gør ikke nogen forskel om det opfattes som spam, hvis man indsætter 'From:'

Men nu er afsender-adressen selvfølgelig rigtig...
Avatar billede moddi100 Seniormester
15. marts 2008 - 13:42 #7
Det program jeg bruger til mail er hotmail. Så vidt jeg ved kan jeg ikke se det du påpeger ovenover :D
Avatar billede leif Seniormester
15. marts 2008 - 13:42 #8
Så skal du bruge:
$header = "From:webmaster@domæne.dk";
$header .= "Content-Type: text/plain; charset=ISO-8859-1; format=flowed";


Ellers overskriver du $header men .= betyder tilføj til variabel
Avatar billede moddi100 Seniormester
15. marts 2008 - 13:43 #9
ja selvfølgelig...
Avatar billede leif Seniormester
15. marts 2008 - 13:45 #10
Hvis du højreklikker på mailen og vælger vis kilde ?
Avatar billede moddi100 Seniormester
15. marts 2008 - 13:46 #11
hmm virker ikke. Den skriver webmaster@domæne.dkContent-Type... i afsender-feltet
Avatar billede leif Seniormester
15. marts 2008 - 13:49 #12
$header = "From: webmaster@domæne.dk\r\n";
$header .= "Content-Type: text/plain; charset=ISO-8859-1; format=flowed";
Avatar billede leif Seniormester
15. marts 2008 - 13:51 #13
Eller blot:
$header = "From: webmaster@domæne.dk\n";
$header .= "Content-Type: text/plain; charset=ISO-8859-1; format=flowed";
Avatar billede moddi100 Seniormester
15. marts 2008 - 13:53 #14
Giver ikke problemer mere. Men den opfatter det stadigvæk som spam... Er der en anden php funktion til at sende mails med, der muligvis ikke opfattes som spam?
Avatar billede leif Seniormester
15. marts 2008 - 14:19 #15
Det er et spørgsmål om at lave de headers som passer til din mail.
Avatar billede moddi100 Seniormester
15. marts 2008 - 14:22 #16
Men selvom at jeg nu har sat headers på som ovenstående opfattes det stadigvæk som spam af mit spamfilter, så hvilke headers skal jeg sætte??
Avatar billede leif Seniormester
15. marts 2008 - 14:33 #17
Avatar billede moddi100 Seniormester
15. marts 2008 - 15:00 #18
Linket fortæller en del om headers ja. Men det fortæller ikke hvordan emails undgår at blive opfattet som spam, snarerer modsat. Jeg har tilføjet MIME-headeren så koden nu ser sådan ud:

$header = "From: webmaster@domæne.dk\r\n";
$header .= "MIME-Version: 1.0" . "\r\n";
$header .= "Content-Type: text/plain; charset=ISO-8859-1; format=flowed";

Det virker dog bare stadigvæk ikke.
Avatar billede leif Seniormester
15. marts 2008 - 15:24 #19
Nej, hvis man vidste hvad man skal undgå for at blive fanget som Spam så er der jo ingen idé om at have Spam filtre
Avatar billede leif Seniormester
15. marts 2008 - 15:25 #20
Tester du kun op imod en modtager eller forskellige udbydere ?
Avatar billede leif Seniormester
15. marts 2008 - 15:33 #21
Du vil opleve at uanset hvad du gør, kan du IKKE garantere at mailen bliver kategoriseret som Spam.
Avatar billede moddi100 Seniormester
15. marts 2008 - 17:44 #22
Tester kun med min egen email/udbyder altså hotmail.com
Avatar billede moddi100 Seniormester
15. marts 2008 - 17:55 #23
Men løsningen bliver nok at jeg beder folk kigge i deres spam-filter...
Avatar billede coderdk Praktikant
15. marts 2008 - 19:11 #24
Du skal nok have oprettet en SPF-record i din DNS, google dette, hvis du er i tvivl...
Din "From:"/"Reply-to:" adresse skal helst være en gyldig, eksisterende emailadresse, du kan også prøve at sætte mail headerne X-Originating-IP og X-Sender-IP til $_SERVER["REMOTE_ADDR"]
Avatar billede moddi100 Seniormester
16. marts 2008 - 11:13 #25
jeg kan ikke lige finde der hvor jeg skal oprette en SPF-record i min DNS opsætning hos gratisDNS.dk. Har du nogen anelse om hvor det gøres? (Du kan evt. prøve at oprette en bruger og se efter)
Avatar billede leif Seniormester
16. marts 2008 - 11:38 #26
Avatar billede moddi100 Seniormester
16. marts 2008 - 12:25 #27
hvor skal den stump kode placeres henne??
Avatar billede leif Seniormester
16. marts 2008 - 12:49 #28
Som der står IN TXT
Avatar billede moddi100 Seniormester
16. marts 2008 - 13:34 #29
nu er det sådan at jeg ejer domænet www.moddi.dk, men min hjemmeside ligger reelt på www.moddi.frac.dk, hvordan kommer koden så til at se ud?
Avatar billede leif Seniormester
16. marts 2008 - 13:47 #30
SPF fortæller hvorfra der bliver sendt mail, så det er jo anpå hvor du sender mail fra
Avatar billede moddi100 Seniormester
16. marts 2008 - 14:00 #31
jeg sender den jo sådan set fra frac.dk
Avatar billede leif Seniormester
16. marts 2008 - 14:01 #32
Men med hvilken from adresse ?


@moddi.dk ?
Avatar billede moddi100 Seniormester
16. marts 2008 - 14:02 #33
$header = "From: robot@moddi.dk\r\n";
$header .= "Reply-To: me@hotmail.com";
Avatar billede leif Seniormester
16. marts 2008 - 14:03 #34
Sendes fra @moddi.dk andre steder fra ?



Bemærk det er ikke sikkert at SPF løser dit problem.
Avatar billede moddi100 Seniormester
16. marts 2008 - 14:04 #35
1) nej ikke endnu, men det kan jo være jeg laver det senere. Men som udgangspunkt nej.

2) Jeg tager chancen :D
Avatar billede leif Seniormester
16. marts 2008 - 14:08 #36
Så er min overbevisning:
moddi.dk IN TXT "v=spf1 a:www.moddi.frac.dk ~all"
Avatar billede leif Seniormester
16. marts 2008 - 14:09 #37
Men skal ændres hvis du for lyst til at sende mails andre steder fra
Avatar billede moddi100 Seniormester
16. marts 2008 - 14:10 #38
prøver lige :D
Avatar billede moddi100 Seniormester
16. marts 2008 - 14:12 #39
det gør vel ikke nogen forskel om jeg ændrer det fra

moddi.dk IN TXT "v=spf1 a:www.moddi.frac.dk ~all"

til

moddi.dk IN TXT 'v=spf1 a:www.moddi.frac.dk ~all'

altså skifter "-tegnene ud med '-tegnet?
Avatar billede leif Seniormester
16. marts 2008 - 14:27 #40
Mener ikke de skal tastes når du indsætter det
Avatar billede moddi100 Seniormester
16. marts 2008 - 14:32 #41
Skal jeg bare indsætte det mellem " og " tror du?
Avatar billede moddi100 Seniormester
16. marts 2008 - 14:37 #42
Avatar billede coderdk Praktikant
16. marts 2008 - 15:10 #43
Nej, nej, der skal bare stå:

v=spf1 a:www.moddi.frac.dk ~all
Avatar billede leif Seniormester
16. marts 2008 - 15:11 #44
Ja, du skal kun indsætte det imellen " "

moddi.dk er domænet
IN TXT betyder at det er en TXT record
"v=spf1 a:www.moddi.frac.dk ~all" er variablen
Avatar billede moddi100 Seniormester
16. marts 2008 - 15:26 #45
Godt så, det er nu rettet.

Men det løste dog ikke mit problem. Nogen forslag?
Avatar billede leif Seniormester
16. marts 2008 - 16:11 #46
Nu kan du for det første ikke forvente at det løses inden for kort tid når DNS er involveret.


Du kan forsøge at kigge på den class som hedder phpmailer (Søg på Google), men det er stadig ikke sikkert det løses.

Må jeg spørge hvorfor siden ikke blot ligger på www.moddi.dk i stedet for på www.moddi.frac.dk ?
Avatar billede coderdk Praktikant
16. marts 2008 - 16:27 #47
phpMailer er forældet, kig på SwiftMailer i stedet ;)
Avatar billede coderdk Praktikant
16. marts 2008 - 16:28 #48
Ja, jeg ville nu også skrive både:

v=spf1 a:www.moddi.frac.dk a:www.moddi.dk ~all

Og hvis du selv vil sende mails fra f.eks. Outlook skal du også inkludere din ISP i SPF'en, ellers ser det ud som om du selv sender spam ;)
Avatar billede moddi100 Seniormester
16. marts 2008 - 16:36 #49
Med hensyn til hvorfor siden ikke ligger på www.moddi.dk, så er det fordi jeg faktisk ikke helt ved hvordan jeg skal gøre det. Domænet moddi.dk er købt hos GratisDNS uden en tilknyttet hjemmeside. Jeg bruger så bare url forward til at sende folk hen til moddi.frac.dk.
Men jeg vil det gerne hører hvordan jeg kan gøre det anderledes?
Avatar billede leif Seniormester
16. marts 2008 - 16:38 #50
coderdk -> Der er da tilsyneladende kommet en release hos phpmailer som er nyere end SwiftMailer
Avatar billede coderdk Praktikant
16. marts 2008 - 16:42 #51
leif, Det har du da ret i, det havde jeg ikke set - Jeg er dog gået over til at bruge SwiftMailer, da den virker lidt mere gennemført :) Hvis du ikke kender den, vil jeg klart anbefale at tage et kig :)
Avatar billede leif Seniormester
16. marts 2008 - 16:47 #52
Jeg vil da kigge på den, da jeg ikke kender den, men har brugt phpmailer i en længere periode.
Avatar billede moddi100 Seniormester
16. marts 2008 - 16:56 #53
SwiftMailer skal downloades og lægges op på mit website, hvis jeg har forstået det rigtigt? Jeg ville nu nok foretrække noget lidt mere simpelt, efter et lille kig på SwiftMailer. Tager lige et kig på phpMailer.
Avatar billede moddi100 Seniormester
16. marts 2008 - 17:01 #54
Jeg hænger mest til phpMailer, da jeg synes den er meget mere overskuelig. JEg ville nu allerhelst hvis det var muligt ikke at skulle downloade/installerer noget, men blot kunne bruge en foruddefineret funktion.
Avatar billede leif Seniormester
16. marts 2008 - 17:14 #55
Det skal ikke installeres, det er bare en masse php filer intet andet
Avatar billede coderdk Praktikant
16. marts 2008 - 17:40 #56
SwiftMailer er overskuelig nok, dokumentationen er ikke den allerbedste, men kig på tutorials: http://www.swiftmailer.org/wikidocs/#tutorials
Sådan sendes en simpel besked: http://www.swiftmailer.org/wikidocs/v3/tutorials/basic
Den bruger SMTP. Hos nogle hosts vil det være nok at bruge

$swift =& new Swift(new Swift_Connection_Sendmail());

i stedet for

$swift =& new Swift(new Swift_Connection_SMTP("smtp.your-host.tld"));

Hvor du jo skal bruge din ISP's SMTP-server.

& er heller ikke nødvendig, hvis du bruger PHP5 ;P
Avatar billede moddi100 Seniormester
16. marts 2008 - 18:02 #57
jeg vil nok stadigvæk foretrække phpMailer. Men er phpMailer forældet eller ej?
Avatar billede leif Seniormester
16. marts 2008 - 18:05 #58
phpmailer: December 2, 2007
swiftmailer: 14th October 2007



Så reelt er phpmailer nyere end swiftmailer ifølge de oplysninger jeg kan finde
Avatar billede coderdk Praktikant
16. marts 2008 - 18:10 #59
Der er også kommet opdateringer til windows xp for nyligt ;)

phpMailer fungerer fremragende, jeg har tidligere brugt den til flere projekter - indtil jeg fandt SwiftMailer :) Hvis du bedre kan overskue phpMailer, synes jeg bare du skal bruge den! :)
Avatar billede moddi100 Seniormester
16. marts 2008 - 18:43 #60
jamen det vil jeg så gøre! Ville bare lige hører jeres (profesionelle) meninger. :D
Avatar billede moddi100 Seniormester
17. marts 2008 - 18:21 #61
har ikke tid til at prøve phpMailer af nu. Vil du have point leif?
Avatar billede leif Seniormester
18. marts 2008 - 14:41 #62
Tja, hvis du mener det har hjulpet, men coderdk skal ikke også have lidt for at vise os et alternativ ?
Avatar billede moddi100 Seniormester
18. marts 2008 - 18:17 #63
Det har vel ikke hjulpet mig af med problemet. (Jeg har dog heller ikke haft tid til at prøve phpMailer eller Swifth af) Men jeg har da lært lidt :D

Ja så skidt da, så får han også lidt. Smider du et svar coderdk?
Avatar billede coderdk Praktikant
18. marts 2008 - 23:50 #64
Ellers tak, bare giv dem til leif :)
Avatar billede moddi100 Seniormester
19. marts 2008 - 13:00 #65
Men tak for hjælpen så!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester