PHP из поля при отправке почты () - PullRequest
2 голосов
/ 27 июня 2011

Я использую функцию PHP mail () и замечаю, что моя почта отображается как отправленная «Моим веб-сайтом» в моем почтовом ящике, но когда я нажимаю на фактическое письмо, оно показывает, что оно было отправлено с mywebsite @ sitename. LOCALDOMAIN.

В идеале я хотел бы, чтобы оно было отправлено с «Моего веб-сайта», но в ответном письме было «no-reply@mywebsite.com», а не чтобы оно говорило о @ sitename.localdomain.

$to = trim(strtolower($_POST['to']));
$from = trim($_POST['from']);
$message = trim($_POST['message']);

$subject = $from . ' has shared a link with you';
$headers = 'From: My Website' . "\r\n" .
        'Reply-To:' . $to . "\r\n" .
        'X-Mailer: PHP/';


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

Это проблема, которую мне нужно исправить в Apache, или я могу изменить заголовки в PHP?

Ответы [ 2 ]

3 голосов
/ 27 июня 2011

Попробуйте это:

$to = trim(strtolower($_POST['to']));
$from = trim($_POST['from']);
$message = trim($_POST['message']);

$subject = $from . ' has shared a link with you';
$headers = 'From: My Website <no-reply@mywebsite.com>' . "\r\n" . // <- change your email here
        'Reply-To:' . $to . "\r\n" .
        'X-Mailer: PHP/';


mail($to, $subject, $message, $headers);
1 голос
/ 21 октября 2012

Вопрос и ответ № 1 содержат серьезную уязвимость безопасности -

$to = trim(strtolower($_POST['to']));

Позволит злоумышленнику использовать ваш сайт для рассылки произвольного спама по электронной почте, и ваш сайт будет заблокирован большинством поисковых систем. Увидеть https://www.owasp.org/index.php/Top_10_2010-A1

Моя рекомендация:

  • Очистить поля от и до
  • Никогда и никогда не копируйте сообщение в сообщении на выход, если только оно не будет тщательно очищено.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...