WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   PHP mail - felaktig avsändare (https://www.wn.se/forum/showthread.php?t=16884)

Seattlegrunge 2006-10-15 22:48

Jag använder ofta php:s mail-funktion för att skicka iväg formulär på hemsidor.

Det fungerar finfint för det mesta och själva mailbiten kan se ut som följer:

Kod:

mail("[email protected]", $subject, $body,
  "From: " . $name . "\r\n" .
  "Reply-To: " . $email . "\r\n" .
  "X-Mailer: PHP/" . phpversion());

Alla variabler är plockade från ett formulär som användaren har submittat.

När jag får ett sånt mail skickat via formuläret till min mailserver så ser allt bra ut. Kollar jag i Headers så står följande:
From: Förnamn Efternamn
Reply-To: [email protected]

Precis så som användaren har fyllt i formuläret.

Dock har jag en kund som klagar på att när de får in mailen från hemsidan, så ser mailets headers ut som följer:
From: Förnamn@domänsomkundensmailserverliggerpå.tld
Reply-To: Efternamn@domänsomkundensmailserverliggerpå.tld

Finns det någon möjlighet att kringgå detta problem? Så att kundens mailserver inte tar överhanden och sätter egna From och Reply-To? Det verkar ju vara så på vissa mailservrar bara, så det verkar vara en fråga om konfiguration på mailservern ifråga, men kan man kanske "lura" detta?

martine 2006-10-15 22:59

Det kan hända att servern kollar att from: är en riktig epostadress innan det skickas, och annars ersätter den med en egen. Har du provat att använda formen:
Förnamn Efternamn <[email protected]>
Fungerar bra för mig iaf (du kan ju sätta reply-to till detsamma om du vill, annars kan du ju slopa den). Sen borde du förståss mime-koda den så att det funkar bra med å ä ö etc

Seattlegrunge 2006-10-15 23:25

Tack, det ska jag testa, det låter som en trolig lösning. Ska höra med kunden imorgon, då jag inte kommer åt deras mail.

Ja, MIME-koda borde jag göra. Tack för tipset.
Hur ska det se ut då egentligen? Som följer kanske?

Kod:

mail("[email protected]", $subject, $body,
  "From: " . $name . "\r\n" .
  "Reply-To: " . $email . "\r\n" .
  "X-Mailer: PHP/" . phpversion()
  $headers .= "MIME-Version: 1.0\r\n";
  $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";);

Eller vad/hur ska jag sätta in MIME-typen?

thorsell 2006-10-15 23:34

Så här funkar fin-fint:

Kod:

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1" . "\r\n";
$headers .= "To: Mottagare <[email protected]>" . "\r\n";
$headers .= "From: $name <$email>" . "\r\n";

mail($email, $subject,$body, $headers);


Seattlegrunge 2006-10-15 23:34

Borde väl bli så här om jag inte har fel? :)

Kod:


mail("[email protected]", $subject, $body,
 "From: " . $name . "\r\n" .
 "Reply-To: " . $email . "\r\n" .
 "MIME-Version: 1.0\r\n" .
 "Content-type: text/plain; charset=iso-8859-1\r\n" .
 "X-Mailer: PHP/" . phpversion());

Det blir rätt va?

Seattlegrunge 2006-10-15 23:35

Tack Thorsell!
Svarade mig själv samtidigt som du svarade, men våra lösningar är iaf ganska lika varandra :)

koala 2006-10-15 23:49

Testa phpmailer så blir det lättare att handskas med mailutskick.

thorsell 2006-10-15 23:53

Citat:

Originally posted by Seattlegrunge@Oct 15 2006, 23:35
Tack Thorsell
Svarade mig själv samtidigt som du svarade, men våra lösningar är iaf ganska lika varandra *

Japps, ser korrekt ut ;)
Dock är det bra att köra "From: Namn <email>" skulle jag tro, det saknar du i din lösning..

Seattlegrunge 2006-10-16 00:04

Japp, jag testar det nu och ser om det är det som är strulet på min fråga som jag skrev om högst upp i tråden.

Tack både till dig och martine!

Seattlegrunge 2006-10-16 00:19

Trots att jag satt en MIME-type och charset, så vill inte å,ä och ö fungera i ämnesraden på meddelandet. Sidan som skickar mailet/har formuläret är kodad i UTF-8 och jag kör en utf8_decode på alla variabler med värden från formuläret.

Tar jag emot mailen på min egen mail via min mailserver, då fungerar å, ö och ö i ämnesraden, men tas det emot hos kunden via deras mailserver så blir det X istället för å, ä och ö. Detta gäller även avsändaren, det blir t ex HXkan Xberg <[email protected]> istället för Håkan Öberg <[email protected]>

Förresten, det andra verkar fungera nu, dvs From och Reply-To ser bra ut nu sedan jag använder $headers .= "From: $name <$email>" . "\r\n";


Alla tider är GMT +2. Klockan är nu 15:08.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson