Проблемы, которые возникают у меня, это. Клиент должен зайти на сайт, ввести основные сведения, имя, адрес электронной почты, телефон и сообщение (как правило, проблема с компьютером).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 ;
Итак, для того, чтобы электронные письма прошли, мне нужно настроить почтовый сервер для отправки сообщений электронной почты в Gmail? Im, получая в журнале PHP, не удалось подключиться к smtp.gmail.com, так как я установил его на SMTP-сервер Gmails, чтобы убедиться, что это что-нибудь сделает. –
Нет. Ваш сервер PHP. Тот, с которого вы отправляете. Для этого нужен SMTP-сервер. Получающему серверу все равно. – durbnpoisn