problem z nagłówkiem PHP mail 'From'

Buduję stronę internetową, która wysyła i wysyła e-mail do użytkownika, gdy się rejestruje.

Mój kod (istota):

<?php
$to = "[email protected]";
$subject = "Test mail";
$message = "Hello! \nThis is a simple email message.";

$headers = "From: [email protected]";
$headers .= "\r\nReply-To: [email protected]";
$headers .= "\r\nX-Mailer: PHP/".phpversion();

mail($to,$subject,$message,$headers);

echo "Mail Sent.";
?> 

Problem polega na tym, że Gdy poczta jest dostarczana, nagłówek from pozostaje [email protected], podczas gdy reply-to zmienia się na podaną wartość.

box123.bluehost.com to nazwa hosta serwera, na którym hostowana jest strona internetowa.

Więc co robię źle? Co mogę zrobić, aby adres "Od" był taki sam jak adres reply-to?

Czy to coś, co robię źle, czy host internetowy gra faul?

Author: jrharshath, 2010-01-06

8 answers

Edit: właśnie zauważyłem, że próbujesz użyć adresu gmail jako wartości from. to nie zadziała , A ISP ma rację w nadpisywaniu tego. Jeśli chcesz przekierować odpowiedzi na wiadomości wychodzące, użyj reply-to.

Obejście poprawnych adresów, które działa z wieloma dostawcami usług internetowych:]}

Spróbuj dodać piąty parametr do komendy mail():

mail($to,$subject,$message,$headers,"-f [email protected]");
 60
Author: Pekka,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-06 15:49:31

Okazuje się, że oryginalny serwer plakatu (blueHost) ma FAQ dotyczące tego samego pytania.

Art. 206.


Dzieje się tak dlatego, że nasze serwery wymagają od ciebie (lub Twojego skryptu) użycia poprawnie sformatowanego pola valid From: w nagłówku wiadomości e-mail. Jeśli pole From: nie jest poprawnie sformatowane, puste lub adres e-mail nie istnieje w cPanelu, adres From: zostanie zmieniony na username@box###.bluehost.com.

Musisz zmienić skrypt, którego używasz do poprawnie używaj poprawnego From: header.

Przykłady nagłówków, które powinny działać to:

Od: [email protected]
From: "użytkownik"

Przykłady nagłówków, które nie będą działać:

Od: "[email protected]"
From: user @ domain.com
Od: [email protected]

Nasze serwery nie akceptują nazwy adresu e-mail i adresu e-mail, aby były takie same. Nie przyjmie podwójnego podanie adresu e-mail.

W przypadku skryptów, takich jak Joomla i Wordpress, będziesz musiał postępować zgodnie z ich dokumentacją w celu prawidłowego formatowania pól from. Wordpress będzie wymagać poczty z wtyczki.

Uwaga: adres e-mail, którego używasz, musi być prawidłowym utworzonym kontem w cPanel.

 24
Author: John Connolly,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-29 20:16:14

Miałem ten sam problem, sprawdziłem php.net miejscu. I znalazł odpowiedni format.
To mój zaktualizowany kod.

$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From:  ' . $fromName . ' <' . $fromEmail .'>' . " \r\n" .
            'Reply-To: '.  $fromEmail . "\r\n" .
            'X-Mailer: PHP/' . phpversion();

\R\n powinno być w podwójnych cudzysłowach("), pojedynczych cudzysłowach ( " ) nie będzie działać.

 17
Author: Eugine Joseph,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-08 04:12:29

Aby zapobiec phishingowi, niektóre serwery pocztowe uniemożliwiają przepisanie programu.

 4
Author: Luís Guilherme,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-06 15:43:47

Zdaję sobie sprawę, że to stary wątek, ale miałem ten sam problem, ponieważ wczoraj przeniosłem się do bluehost. Może nie była to wybrana odpowiedź, ale popieram odpowiedź bluehost art. 206.

Utworzyłem prawidłowy e-mail w Panelu sterowania i użyłem go jako mojego adresu From I to działało.

 1
Author: Rvenca,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-12 04:40:33

Rozwiązałem to dodając konta e-mail w Cpanel, a także dodając ten sam e-mail do nagłówka z pola takiego jak to

$header = 'From: XXXXXXXX <[email protected]>' . "\r\n";
 1
Author: Anahit DEV,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-28 06:53:40

Web host naprawdę nie gra faul. Nie jest to ściśle zgodne z zasadami - ale w porównaniu z niektórymi niesamowitymi wynalazkami mającymi na celu zapobieganie spamowi, nie jest to szczególnie zły.

Jeśli naprawdę chcesz wysłać maila z '@gmail.com " dlaczego po prostu nie skorzystać z usługi Gmail SMTP? Jeśli nie możesz ponownie skonfigurować serwera, na którym działa PHP, to istnieje wiele narzędzi do owijania wiadomości e-mail, które pozwalają określić niestandardowy przekaźnik SMTP phpmailer umysł.

C.

 0
Author: symcbean,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-06 17:25:16

Nagłówki nie działały dla mnie na moim współdzielonym hostingu, powodem było to, że używałem mojego adresu e-mail hotmail w nagłówku. stworzyłem e-mail na moim cpanel i ustawiłem ten sam e-mail w nagłówku tak to działało jak urok!

 $header = 'From: ShopFive <[email protected]>' . "\r\n";
 0
Author: zeeshan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-07 09:23:41