2016-06-06 5 views
0

Проблемы, которые возникают у меня, это. Клиент должен зайти на сайт, ввести основные сведения, имя, адрес электронной почты, телефон и сообщение (как правило, проблема с компьютером).PHP Form не отправляет электронные письма на учетные записи электронной почты независимо от домена

Затем они должны отправить электронное письмо, на которое отправляется электронное письмо на адрес электронной почты [email protected] Проблема в том, что она не прибывает, к любому электронному письму. Веб-сайт размещен на локальном компьютере и не имеет почтового сервера, требуется ли локальному компьютеру почтовый сервер для отправки почты на мой адрес электронной почты?

Голые со мной, я никогда раньше ничего не делал с электронной почтой.

$mailto = '[email protected]' ; 
$subject = "Contact us!" ; 
$formurl = "http://jakescomputerrepairs.com/contact.html" ; 
$thankyouurl = "http:///jakescomputerrepairs.com/thankyou.html" ; 
$errorurl = "http:///jakescomputerrepairs.com/404.html" ; 
$want_tel_field = 1; 
$want_addr_field = 0; 

$email_is_required = 1; 
$name_is_required = 1; 
$comments_is_required = 1; 
$uself = 0; 
$forcelf = 0; 
$use_envsender = 0; 
$use_sendmailfrom = 0; 
$smtp_server_win = '' ; 
$use_webmaster_email_for_from = 0; 
$use_utf8 = 1; 
$my_recaptcha_private_key = '' ; 

define('MAX_LINE_LENGTH', 998); 
$headersep = $uself ? "\n" : "\r\n" ; 
$content_nl = $forcelf ? "\n" : (defined('PHP_EOL') ? PHP_EOL : "\n") ; 
$content_type = $use_utf8 ? 'Content-Type: text/plain; charset="utf-8"' : 'Content-Type: text/plain; charset="iso-8859-1"' ; 
if ($use_sendmailfrom) { 
    ini_set('sendmail_from', $mailto); 
} 
if (strlen($smtp_server_win)) { 
    ini_set('SMTP', $smtp_server_win); 
} 
$envsender = "-f$mailto" ; 
$fullname = isset($_POST['fullname']) ? $_POST['fullname'] : $_POST['name'] ; 
$email = $_POST['email'] ; 
$comments = $_POST['comments'] ; 
$http_referrer = getenv("HTTP_REFERER"); 

if (!isset($_POST['email'])) { 
    header("Location: $formurl"); 
    exit ; 
} 
if (($email_is_required && (empty($email) || !preg_match('/@/', $email))) || ($name_is_required && empty($fullname)) || ($comments_is_required && empty($comments))) { 
    header("Location: $errorurl"); 
    exit ; 
} 
if (preg_match("/[\r\n]/", $fullname) || preg_match("/[\r\n]/", $email)) { 
    header("Location: $errorurl"); 
    exit ; 
} 
/* 
if (strlen($my_recaptcha_private_key)) { 
    $recaptcha_url = 'https://www.google.com/recaptcha/api/siteverify?' . 
          'secret=' . urlencode($my_recaptcha_private_key) . '&' . 
          'remoteip=' . urlencode($_SERVER['REMOTE_ADDR']) . '&' . 
          'v=' . "php_1.0" . '&' . 
          'response=' . urlencode($_POST['g-recaptcha-response']) ; 
    $recaptcha_reply = file_get_contents($recaptcha_url); 
    $recaptcha_decoded = json_decode ($recaptcha_reply, TRUE); 
    if ($recaptcha_decoded == NULL || (trim($recaptcha_decoded['success']) != TRUE)) { 
     header("Location: $errorurl"); 
     exit ; 
    } 
} 
*/ 
if (empty($email)) { 
    $email = $mailto ; 
} 
$fromemail = $use_webmaster_email_for_from ? $mailto : $email ; 
if (function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()) { 
    $comments = stripslashes($comments); 
} 
$opt_flds = $want_addr_field ? wordwrap ("Address: " . $_POST['addr'] . $content_nl, MAX_LINE_LENGTH, $content_nl, true) : '' ; 
$opt_flds .= $want_tel_field ? wordwrap ("Telephone: " . $_POST['tel'] . $content_nl, MAX_LINE_LENGTH, $content_nl, true) : '' ; 
$messageproper = 
    "This message was sent from:" . $content_nl . 
    $http_referrer . $content_nl . 
    "------------------------------------------------------------" . $content_nl . 
    "Name of sender: $fullname" . $content_nl . 
    "Email of sender: $email" . $content_nl . 
    $opt_flds . 
    "------------------------- COMMENTS -------------------------" . $content_nl . $content_nl . 
    wordwrap($comments, MAX_LINE_LENGTH, $content_nl, true) . $content_nl . $content_nl . 
    "------------------------------------------------------------" . $content_nl ; 

$headers = 
    "From: \"$fullname\" <$fromemail>" . $headersep . "Reply-To: \"$fullname\" <$email>" . $headersep . "X-Mailer: chfeedback.php 2.18.0" . 
    $headersep . 'MIME-Version: 1.0' . $headersep . $content_type ; 

if ($use_envsender) { 
    mail($mailto, $subject, $messageproper, $headers, $envsender); 
} 
else { 
    mail($mailto, $subject, $messageproper, $headers); 
} 
header("Location: $thankyouurl"); 
exit ; 

ответ

0

«Сайт размещен на месте, и не имеет почтовый сервер»

Я боюсь, что это ваша проблема прямо там.

PHP mail использует SMTP для отправки почты. Если у вас нет такого сервера, и, следовательно, отправка почты, ничего не произойдет. Я рекомендую проверить ваши журналы ошибок, просто чтобы быть уверенным.

+0

Итак, для того, чтобы электронные письма прошли, мне нужно настроить почтовый сервер для отправки сообщений электронной почты в Gmail? Im, получая в журнале PHP, не удалось подключиться к smtp.gmail.com, так как я установил его на SMTP-сервер Gmails, чтобы убедиться, что это что-нибудь сделает. –

+0

Нет. Ваш сервер PHP. Тот, с которого вы отправляете. Для этого нужен SMTP-сервер. Получающему серверу все равно. – durbnpoisn