Autor | Zpráva | ||
---|---|---|---|
kaprCZ Profil |
Zdravím,
procházel jsem veškeré rady ve fóru i jinde na Googlu, ale pořád mi žádné řešení nějak nepomohlo. Můj problém zní: Mám PHP kód pro zasílání mailů přes funkci Mail(). Kód funguje v pořádku a maily odesílá na gmail, seznam a i na můj osobní mail. Ovšem když jsem stejný kód použil na webu zákazníka, tak jeho mail zprávy nepřijímá. Správce sítě jsem se ptal a prý je vše povoleno, aby maily mohly normálně přicházet. Předpokládám tedy, že je nějaký problém v mém kódu, ale nevím si rady kde. Máte nějaké nápady? Preferoval bych přímo zasílání přes funkci, o knihovnách typu PHPMailer vím, ale beru to jen jako krajní řešení, kdyby to už jinak nešlo. Můj kód: $send = "<br> <img src='X.png' alt='logo' width='250px' height='69px'> <br> <br> <br>".$message." <br> <br><b> Jmeno a příjmení:</b> ".$name_surname." <br><b> E-mail odesílatele:</b> ".$email." <br><b> Telefon odesílatele:</b> ".$phone." <br><b> Firma:</b> ".$company." <br>Zákazníkovi odpovězte odesláním zprávy na e-mail, který zadal do formuláře.</b><br> <br> <br>"; $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type: text/html; charset=utf-8" . "\r\n"; $headers .= "To: Zákazník <neco@neco.cz>" . "\r\n"; $headers .= "From: www.webzakaznika.cz <'.$email.'>" . "\r\n"; $predmet = ' Zakaznikova firma - '.$name_surname.' ('.$email.')'; $odeslani_mailu = Mail("neco@neco.cz", $predmet, $send, $headers); |
||
Davex Profil |
#2 · Zasláno: 10. 6. 2016, 18:58:49
Doména v adrese webu a v e-mailové adrese zákazníka se liší a web zákazníka a poštovní server jsou u různých hostingů? Přijde nějaká chyba na adresu odesílatele z konfigurace PHP (
ini_get('sendmail_from'); )?
|
||
kaprCZ Profil |
#3 · Zasláno: 11. 6. 2016, 11:35:25
Davex:
Doména webu a e-mailu je stejná, web zákazníka a poštovní server jsou na stejném hostingu, na adresu odesílatele nic nepřišlo. |
||
TomášK Profil |
#4 · Zasláno: 11. 6. 2016, 15:24:47
Příčina je napsaná v logu mailserveru, zkus se se správcem domluvit, poslat testovací mail a nakouknout do logu. Můj tip je, že daný mailserver odmítne adresu uvedenou ve 'From:'.
|
||
Časová prodleva: 12 dní
|
|||
kaprCZ Profil |
#5 · Zasláno: 23. 6. 2016, 15:27:42
Ok díky za tip, zjistím. :)
|
||
Časová prodleva: 3 dny
|
|||
Enko Profil |
#6 · Zasláno: 26. 6. 2016, 22:36:20
Zkontruluj ještě jestli to neblokuje SPF. Dále zkus přidat do funkce mail() parametr -f, na který se pošle odpověď mailserveru v případě, že nastane nějaká chyba. Viz níže.
define("ERROR_REPLY","mailbox@nejakadomena.com"); // na tento mailbox ti prijde chybova zprava z mailserveru, v pripade, ze nejaka bude mail($to, $predmet, $zprava, $head, "-f " . ERROR_REPLY); |
||
Časová prodleva: 19 dní
|
|||
kaprCZ Profil |
#7 · Zasláno: 15. 7. 2016, 10:38:09
Enko:
Děkuji za odpověď, žádná chybová zpráva mi ale nepřišla, takže asi tam chyba nebude. TomášK: Zeptám se správce a uvidíme, jinou možnost tu už asi nevidím. |
||
Časová prodleva: 3 dny
|
|||
kaprCZ Profil |
#8 · Zasláno: 18. 7. 2016, 09:36:01
Ok, problém vyřešen. Poté co jsem k funkci přidal
"-f " . ERROR_REPLY); to začalo najednou fungovat. Děkuji všem za rady.
|
||
Časová prodleva: 9 let
|
0