Почтовая команда PHP не будет работать, если в теле "http://"" - PullRequest
1 голос
/ 04 марта 2012

Самая странная вещь, которую я когда-либо видел.Если в теле письма используется строка "http://", команда mail не работает. Если используется какой-либо другой комбо из этих символов, он отправляет. Например, я могу ввести" ttp: // "или" http:/ "и это будет отправлено нормально. Как только у меня есть точная строка" http://" в любом месте в теле, почта не отправляет.

Не работает:

$mail_body = 'http://';
$subject = "Test subject"; 
$recipient =  "myemail@myemail.com";

$header = "MIME-Version: 1.0\n" ;
$header .= "Content-type: text/html; charset: utf8\r\n";
$header = $header . 'From: test@test.com';

mail($recipient, $subject, $mail_body, $header) or die('mail could not be sent');

Вышеуказанное СЛЕДУЕТ работать, если вы измените $ mail_body, например:

$ mail_body = 'ttp: //';

или

$ mail_body = 'http: /';

или

любая другая комбинация любых других мыслимых символов, только не когда она говорит http://

Ответы [ 2 ]

0 голосов
/ 20 февраля 2013

Заменить http:// на http%3A//

0 голосов
/ 04 марта 2012

Если вы добавляете «http» в ваше тело, попробуйте отправить электронное письмо в формате «html».Это будет работать, так как мы можем отправлять письма могут содержать ссылку "http"

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";

Используйте вышеуказанный набор символов, и ваш код будет работать

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