Я создал сайт и загрузил его на сайт бесплатного хостинга для проверки php. Когда я отправляю тестовые письма с веб-сайта и устанавливаю адрес получателя на свою учетную запись электронной почты gmail, я получаю их. Хотя, они становятся помечены как спам/фишинг (на электронных письмах у меня есть красный предупреждающий ярлык). Однако, когда я устанавливаю адрес получателя на учетную запись gmail моего клиента, он не получает их вообще, они не присутствуют в его коробке SPAM (он позволил мне посмотреть его учетную запись Gmail для подтверждения).Письма с веб-сайта отправляются на мою учетную запись gmail, но не на клиентскую учетную запись
Я думаю, может быть, у него есть уровень spamblocker, который у меня нет у меня? Или эта ситуация возникает, потому что я использую сайт бесплатного хостинга для отправки электронной почты? Я планирую загрузить его в GoDaddy. Как вы думаете, если загрузить его на платный хостинг-сайт изменит мою ситуацию или мне нужен PHPMailer? Мой вопрос в том, почему я получаю электронные письма, но когда я переключаю получающее письмо на своих клиентов, он вообще не получает их?
Вот мой PHP код:
<?php
if(isset($_POST['email-ad'])) {
$email_to = "[email protected]"; //my email
$email_subject = "General Inquiry from xxxxcompany";
function died($error) {
// your error code can go here
echo "We are very sorry, but there were error(s) found with the form you submitted. ";
echo "These errors appear below.<br /><br />";
echo $error."<br /><br />";
echo "Please go back and fix these errors.<br /><br />";
die();
}
// validation expected data exists
if(!isset($_POST['name']) ||
!isset($_POST['email-ad']) ||
!isset($_POST['phone']) ||
!isset($_POST['intention']) ||
!isset($_POST['comments'])) {
died('We are sorry, but there appears to be a problem with the form you submitted.');
}
$name = $_POST['name']; // required
$email_from = $_POST['email-ad']; // required
$telephone = $_POST['phone']; // required
$intention = $_POST['intention']; // not required
$comments = $_POST['comments']; // not required
$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)) {
$error_message .= 'The Email Address you entered does not appear to be valid.<br />';
}
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$name)) {
$error_message .= 'The name that you entered does not appear to be valid.<br />';
}
if(strlen($comments) < 2) {
$error_message .= 'The Comments you entered do not appear to be valid.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Form details below.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "Name: ".clean_string($name)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Phone: ".clean_string($telephone)."\n";
$email_message .= "Intention: ".clean_string($intention)."\n";
$email_message .= "Comments: ".clean_string($comments)."\n";
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
sleep(2);
echo "<meta http-equiv='refresh' content=\"5; url=index.html\">";
?>
<html>
<head>
<link rel="stylesheet" href="css/style.css">
</head>
<body bgcolor="black">
<font color="white">
<font family="Helvetica">
<div class="redirect">Thank you for contacting us. We will be in touch with you very soon. You will redirected back to the homepage in a few. </div>
</font>
</font>
</body>
</html>
<?php
}
?>
Невозможно сказать. Код бесполезен, поскольку, очевидно, PHP может отправить электронное письмо другим учетным записям. Вам нужно будет проверить журналы вашего почтового сервера, чтобы узнать, что произошло после того, как php передал электронное письмо. Помните: 'mail()' эквивалентно прохождению конверта до угла улицы и отбрасыванию его в почтовый ящик. Что происходит ПОСЛЕ того, что это не проблема php. –
в вашем письме работает, но в ваших клиентах электронная почта не работает, вы уверены, что адрес электронной почты, который вы пишете, верен? это может быть проблемой, иногда я быстро пишу имя, и я пишу это неправильно. – TiGreX
@MarcB: Верно. Я просто не хотел оставлять что-нибудь из поста, что было бы полезно. Спасибо, что позволил мне узнать, хотя и образование. Жаль, что я не думаю, что у меня есть эта функциональность на этом бесплатном веб-хостинге. Хотя, я буду помнить об этом, когда я отлаживаю использование журналов почтовых серверов, чтобы узнать, что происходит. – hnewbie