Выражение y + [4]
создает новый список, который является результатом добавления [4]
к тому, что содержит y
. Присвоение результата этого выражения y
изменяет y
, чтобы указывать на новый список, который был создан.
На самом деле это ничем не отличается от следующего кода:
y = 1
y = y + 1
После этого кода y
будет 2
, а значение 1
не изменилось.
Возможно, вы не установили правильные данные заголовка, и эти электронные письма блокируются даже до того, как попадают в папку со спамом.
Попробуйте добавить что-то вроде этого:
$headers = 'From: your@email.com' . "\r\n" .
'Reply-To: some@email.com';
Это четвертый параметр функции mail ().
В прошлом я сталкивался с проблемами, когда некоторые бесплатные поставщики услуг электронной почты не получали электронную почту с моих серверов.
Я обнаружил, что несколько вещей могут быть виноваты, помимо правильных заголовков в самом сообщении:
Скорее всего, PHP есть отправка электронного письма нормально, но серверы Google отклоняют любые сообщения, поступающие с вашего сервера.
Вы можете проверить это, выполнив быстрое:
mail -s Test you@gmail.com < /dev/null
Если ваш сервер в порядке, вы получите сообщение на свой gmail, если нет, проблема не в PHP.
Я обнаружил, что наличие правильной записи SPF для вашего домена действительно помогает
Более вероятно, что это проблема конфигурации сервера, а не PHP.
В качестве примечания я обнаружил, что Gmail более терпим, чем наша локальная система, поэтому мне удалось отправлять сообщения на свою учетную запись gmail, но не на мою учетную запись в домене хостинга.
Я не думаю, что Google использует сторонние черные списки, но они действительно заботятся о конфигурации сервера (правильно ли он идентифицирует себя, имеет ли совпадающие записи SPF и RDNS, правильно реагирует на команды). Вы можете попробовать несколько сервисов тестирования, например this или this .
Я вижу, что уже слишком поздно, но ... следующий код работает для Gmail.
<html>
Mail Responder:<br><br>
<?php
$to = $_REQUEST['MyEmail'] ;
$subject = $_REQUEST['subject'] ;
$greeting = $_REQUEST['greeting'] ;
$realname = $_REQUEST['realname'] ;
$HisEmail = $_REQUEST['HisEmail'] ;
$message = $_REQUEST['message'] ;
$headers = 'From: '.$HisEmail;
//$headers = 'From: $HisEmail' . "\r\n" .
//'Reply-To: some@email.com';
$send = mail($to, $subject, $greeting."\n"."\n".$realname."\n"."\n".$HisEmail."\n"."\n".$message, $headers );
if ($send)
$mailReturns = "Mail sent successfully.";
else
$mailReturns = "Mail sent failed.";
?>
<?php echo $mailReturns; ?>
</html>