Avatar billede Mik2000 Professor
28. juni 2017 - 16:13 Der er 5 kommentarer og
3 løsninger

PHP mail og spf / dkim

Hej

Kan man sende med mail() i PHP og bruge spf og dkim?

Hvordan gør man det?
Avatar billede jakobdo Ekspert
28. juni 2017 - 16:36 #1
SPF har intet med php og gøre.
SPF sker på dns niveau og modtagers mailserver tjekker så spf.
DKIM håber jeg der er andre der er klogere på, for det er ikke min spidskompetence. :)
Avatar billede acore Ekspert
28. juni 2017 - 22:46 #2
Jeg foreslår at du erstatter mail() med phpmailer. Det er lagt bedre på alle måder. Det ser ud til at understøtte dkim også - se https://github.com/PHPMailer/PHPMailer/blob/master/examples/DKIM.phps - har dog ikke prøvet det selv
Avatar billede Mik2000 Professor
28. juni 2017 - 23:19 #3
Hej

Er lidt ny til spf og dkim, som det nok også fremgår af spørgsmål kan jeg se ;)

@jakobdo: SPF - hvis vi kan rette dns på server hvor domæne er, kan vi så gøre noget med spf så færre emails ryger i spam når vi sender emails direkte fra kode - f.eks. "whiteliste" servers IP adresse eller lign (egen server så ikke noget farligt ved det)?

@acore: Det kunne være en mulighed. Men vil helst benytte den indbyggede hvis det var muligt, og undgå et bibliotek, for vi har ikke brug for de øvrige features som det tilbyder (udover evt. DKIM pga. spam)
Jeg har heller ikke adgang til smtp her, og lige her er det en fordel den sendes via serverens lokale mail server, da det er vores egen server og der er nogle ting på den til statistik mv.
Men hvis vi ikke kan nedbringe risikoen for at mail ryger i spam, så kan jeg selvfølgelig være tvunget.
Avatar billede acore Ekspert
29. juni 2017 - 07:35 #4
Jeg kan sagtens følge dig.

Mine egne erfaringer er, at hvis man skal gøre noget seriøst for at undgå, at ens mails havner i spam, så er det i bedste fald ret tidskrævende med mail().

phpmailer gør det meget nemmere, og kan bruge såvel smtp som mailserver, mener jeg.
Avatar billede jakobdo Ekspert
29. juni 2017 - 08:41 #5
#3: Spf er i bund og grund "bare" en dns record, som angiver: Hvem (hvilke ip'er) må sende emails på vegne af et domæne.

Så hvis du har domænet:

sendmail.dk og du nu skal til at afsende emails fra webserveren: 1.2.3.4
Så skal du tilføje den ip til sendmail.dk's spf record.

Så kunne en spf se sådan ud:
sendmail.dk.  IN TXT "v=spf1 ip4:1.2.3.4 -all"

#4: mail() i php kan også godt opsættes til at sende via smtp-server, men det kræver så man har adgang til serveren generelt ja. phpmailer eller swiftmailer, der kan det opsættes direkte i koden. Er dog enig i de 2 store mailer-libs her, sender "bedre" mails ud. De tager også hånd om utf-8 osv. Der ville du med mail() kunne løbe ind i udfordringer med æøå osv. (det kan selvfølgelig løses), men de andre virker bare ud af boksen.
Avatar billede Mik2000 Professor
01. juli 2017 - 16:37 #6
Hej

Så hvis jeg tilføjer det, og sender emails via mail() hvor afsenderadresse er en sluttende på domænet f.eks. sendmail.dk - så vil de ikke længere ryge i spam hos modtageren.
Skal det forstås sådan?

Har ikke umiddelbart fået problemer med utf-8 eller lign. når der har været sendt ud.
Har adgang til server, men vil egentlig helst undgå smtp hvis blot man kan få f.eks. mail() til at sende, da det er egen server og der er rigeligt kapicitet. Så helst ikke afhængig af andres kode til det, hvis det kan undgåes - ikke mindst fordi det er ultrasimple emails.
Avatar billede jakobdo Ekspert
01. juli 2017 - 18:11 #7
Altså at lave en spf er ikke en garanti for ting ikke ender i spam. :)
Men hvis din mail ikke indeholder spam, din SPF er i orden og hvis du evt. også opsætter DKIM, så er dine chancer da større for de ikke ender i spam.
Avatar billede Mik2000 Professor
08. juli 2017 - 15:28 #8
Hej

Okay, må teste lidt med det 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

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