Форум не является средством гарантированной поддержки клиентов и пользователей. Поэтому на быстрый ответ тут рассчитывать не нужно. Сотрудники отвечают по мере своих возможностей.
Любые вопросы, требующие срочного ответа службы поддержки, лучше задавать в Центр поддержки клиентов.
Любые вопросы, требующие срочного ответа службы поддержки, лучше задавать в Центр поддержки клиентов.
Обработчик PHP
Такая есть проблема,на локальном сервере обработчик работает как часики а вот уже не посредственно на хостинге в интернете происходит следующие.....при заполнении формы отправки письма в поле e_mail если я вписываю такойже домен почты ( к примеру gmail ) то письма приходят на мою почту с доменом Gmail, другие же почтовые клиенты с доменом yandex.ru , mail.ru. hotmail.com и т.д. не приходят! если же я в обработчике меняю свою почту с gmail на yandex,ru то получается наоборот...письма приходят с указанием на сайте в поле e_mail : @yandex.ru , другие письма от других доменов не приходят........
Вопрос,что можно и нужно дописать в файле обработчика PHP ?
Мой обработчик :
//Your E-mail
$your_email = 'домен@gmail.com';
$subject="Сообщение с сайта Web-Tour";
$date=date("l, F jS, Y");
$time=date("h:i A");
$type=$_REQUEST['type'];
$name=$_REQUEST['name'];
$email=$_REQUEST['email'];
$subject=$_REQUEST['subject'];
$message=$_REQUEST['message'];
$msg = "";
$msg .= "Сообщение отправлено с сайта на сегодняшний день: $date, hour: $time.\n";
$msg .= "Email: $email\n";
//Default Subject if 'subject' field not specified
$default_subject = 'From My Contact Form';
//Message if 'name' field not specified
$name_not_specified = 'Please type a valid name';
//Message if 'message' field not specified
$message_not_specified = 'Please type a vaild message';
//Message if e-mail sent successfully
$email_was_sent = 'Thanks, your message successfully sent';
//Message if e-mail not sent (server not configured)
$server_not_configured = 'Sorry, mail server not configured';
///////////////////////////
//Contact Form Processing//
///////////////////////////
$errors = array();
if(isset($_POST['message']) and isset($_POST['name'])) {
if(!empty($_POST['name']))
$sender_name = stripslashes(strip_tags(trim($_POST['name'])));
if(!empty($_POST['message']))
$message = stripslashes(strip_tags(trim($_POST['message'])));
if(!empty($_POST['email']))
$sender_email = stripslashes(strip_tags(trim($_POST['email'])));
if(!empty($_POST['subject']))
$subject = stripslashes(strip_tags(trim($_POST['subject'])));
//Message if no sender name was specified
if(empty($sender_name)) {
$errors[] = $name_not_specified;
}
//Message if no message was specified
if(empty($message)) {
$errors[] = $message_not_specified;
}
$from = (!empty($sender_email)) ? 'From: '.$sender_email : '';
$subject = (!empty($subject)) ? $subject : $default_subject;
$message = (!empty($message)) ? wordwrap($message, 70) : '';
//sending message if no errors
if(empty($errors)) {
if (mail($your_email, $subject, $message, $from)) {
echo $email_was_sent;
} else {
$errors[] = $server_not_configured;
echo implode('
', $errors );
}
} else {
echo implode('
', $errors );
}
} else {
// if "name" or "message" vars not send ('name' attribute of contact form input fields was changed)
echo '"name" and "message" variables were not received by server. Please check "name" attributes for your input fields';
}
?>
Вопрос,что можно и нужно дописать в файле обработчика PHP ?
Мой обработчик :
//Your E-mail
$your_email = 'домен@gmail.com';
$subject="Сообщение с сайта Web-Tour";
$date=date("l, F jS, Y");
$time=date("h:i A");
$type=$_REQUEST['type'];
$name=$_REQUEST['name'];
$email=$_REQUEST['email'];
$subject=$_REQUEST['subject'];
$message=$_REQUEST['message'];
$msg = "";
$msg .= "Сообщение отправлено с сайта на сегодняшний день: $date, hour: $time.\n";
$msg .= "Email: $email\n";
//Default Subject if 'subject' field not specified
$default_subject = 'From My Contact Form';
//Message if 'name' field not specified
$name_not_specified = 'Please type a valid name';
//Message if 'message' field not specified
$message_not_specified = 'Please type a vaild message';
//Message if e-mail sent successfully
$email_was_sent = 'Thanks, your message successfully sent';
//Message if e-mail not sent (server not configured)
$server_not_configured = 'Sorry, mail server not configured';
///////////////////////////
//Contact Form Processing//
///////////////////////////
$errors = array();
if(isset($_POST['message']) and isset($_POST['name'])) {
if(!empty($_POST['name']))
$sender_name = stripslashes(strip_tags(trim($_POST['name'])));
if(!empty($_POST['message']))
$message = stripslashes(strip_tags(trim($_POST['message'])));
if(!empty($_POST['email']))
$sender_email = stripslashes(strip_tags(trim($_POST['email'])));
if(!empty($_POST['subject']))
$subject = stripslashes(strip_tags(trim($_POST['subject'])));
//Message if no sender name was specified
if(empty($sender_name)) {
$errors[] = $name_not_specified;
}
//Message if no message was specified
if(empty($message)) {
$errors[] = $message_not_specified;
}
$from = (!empty($sender_email)) ? 'From: '.$sender_email : '';
$subject = (!empty($subject)) ? $subject : $default_subject;
$message = (!empty($message)) ? wordwrap($message, 70) : '';
//sending message if no errors
if(empty($errors)) {
if (mail($your_email, $subject, $message, $from)) {
echo $email_was_sent;
} else {
$errors[] = $server_not_configured;
echo implode('
', $errors );
}
} else {
echo implode('
', $errors );
}
} else {
// if "name" or "message" vars not send ('name' attribute of contact form input fields was changed)
echo '"name" and "message" variables were not received by server. Please check "name" attributes for your input fields';
}
?>
Войдите или Зарегистрируйтесь чтобы комментировать.
Комментарии
<?php
if (isset($_REQUEST['email']))
//if "email" is filled out, send email
{
//send email
$email = $_REQUEST['email'] ;
$subject = "Mail test" ;
$server = $_SERVER['HTTP_HOST'];
$message = "If you got this message, mail sending from $server is working fine " ;
mail( "$email", "$subject",
$message, "From: mailtest@" . $_SERVER['HTTP_HOST'] );
echo "Message has been sent to $email";
}
else
//if "email" is not filled out, display the form
{
$server = $_SERVER[HTTP_HOST];
echo "<h1>Mail test from $server
Enter Your Email:
";
}
?>
Для того что бы каждый раз на новом сайте не вставлять в корень сайта обработчик писем php.
а просто в форме html письма ,вставить ссылку в action="ссылка другого сайта/contact.php"...то есть на сторонний сайт,что бы он подхватывал и обрабатывал письма...возможно ли такое?