2015-01-15 4 views
0

Я создал сайт и загрузил его на сайт бесплатного хостинга для проверки 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 
} 
?> 
+1

Невозможно сказать. Код бесполезен, поскольку, очевидно, PHP может отправить электронное письмо другим учетным записям. Вам нужно будет проверить журналы вашего почтового сервера, чтобы узнать, что произошло после того, как php передал электронное письмо. Помните: 'mail()' эквивалентно прохождению конверта до угла улицы и отбрасыванию его в почтовый ящик. Что происходит ПОСЛЕ того, что это не проблема php. –

+0

в вашем письме работает, но в ваших клиентах электронная почта не работает, вы уверены, что адрес электронной почты, который вы пишете, верен? это может быть проблемой, иногда я быстро пишу имя, и я пишу это неправильно. – TiGreX

+0

@MarcB: Верно. Я просто не хотел оставлять что-нибудь из поста, что было бы полезно. Спасибо, что позволил мне узнать, хотя и образование. Жаль, что я не думаю, что у меня есть эта функциональность на этом бесплатном веб-хостинге. Хотя, я буду помнить об этом, когда я отлаживаю использование журналов почтовых серверов, чтобы узнать, что происходит. – hnewbie

ответ

0

ситуация, скорее всего, происходит из-за использования свободно-хостинга. Имейте в виду, что более вероятно, что спамеры на общем веб-хостинге будут связаны с природой: многие пользователи используют один и тот же IP-адрес для отправки почты. Кроме того, поскольку это бесплатный хостинг, каждый может отправлять электронную почту и, следовательно, также спам.

Кстати, как вы сказали, некоторые поставщики электронной почты используют довольно агрессивные блокировки спама, так что это может быть причиной того, что ваш клиент не получил ваше электронное письмо вообще.

+0

Хорошо, я вижу. Это не код, это пространство, которое я использую, что может вызвать проблему. Я собираюсь загрузить на платный хостинг-сайт и посмотреть, что произойдет. Спасибо! – hnewbie

+0

Вы можете проверить, указан ли IP-адрес или доменное имя в черном списке Spamhaus [здесь] (http://www.spamhaus.org/lookup/). –

+0

Ничего себе, это был глаз. У меня есть 4 тестовых сайта на этой службе, просто пытаясь понять, какой коктейль будет работать. Через Spamhaus, в то время как два из них, связанных с учетной записью, не были включены ни в один из списков, два других были. Один IP-адрес искажал троянские программы для спама! Сумасшедший ... да, это довольно крутой инструмент. Спасибо, что поделились! – hnewbie