отправка писем с помощью функции php - mail()
Первый пример, самый простой. У нас есть простейшая форма обратной связи с двумя полями: "тема письма" и "сообщение". Html код формы мне объяснять не хочется, надеюсь Вам и так все понятно, а обработка кода на php вроде неплохо прокомментирована. В общем думаю должно быть понятно ;-) Если что - задавайте вопросы ниже.
<?php
// если была нажата кнопка "Отправить"
if($_POST['submit']) {
// $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались, ну и substr($_POST['title'], 0, 1000) - урезаем текст до 1000 символов. Для переменной $_POST['mess'] все аналогично
$title = substr(htmlspecialchars(trim($_POST['title'])), 0, 1000);
$mess = substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000);
// $to - кому отправляем
$to = 'test@test.ru';
// $from - от кого
$from='test@test.ru';
// функция, которая отправляет наше письмо.
mail($to, $title, $mess, 'From:'.$from);
echo 'Спасибо! Ваше письмо отправлено.';
}
?>
<form action="" method=post>
<p>Вводный текст перед формой <p>
<div align="center">
Teма<br />
<input type="text" name="title" size="40"><br />
Сообщение<br />
<textarea name="mess" rows="10" cols="40"></textarea>
<br />
<input type="submit" value="Отправить" name="submit"></div>
</form>
второй пример, посложнее, но с проверкой данных » |
Ниже Вы можете пофлудить - можете спросить, обругать, похвалить и т.д.
Добавление комментариев отключено
Тут доработана тем, что после отправки, высвечивается по середине экрана табличка с надписью "Ваше сообщение отправлена на первую межгалактическую станцию,в скором времени наши менеджеры обработают вашу заявку" которая длится в течении 5 секунд(время можете задать любое в функции header("refresh:5;url=тут укажите url адрес вашей страницы,куда хотите вернуть клиента после отправки формы");).
<?php
// если была нажата кнопка "Отправить"
if($_POST['submit']) {
// $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались, ну и substr($_POST['title'], 0, 1000) - урезаем текст до 1000 символов. Для переменной $_POST['mess'] все аналогично
$title = substr(htmlspecialchars(trim($_POST['title'])),0,60);
$mess = substr(htmlspecialchars(trim($_POST['mess'])),0,50);
// $to - кому отправляем
$to = 'Ваш емеил адрес@mail.ru';
// $from - от кого
$from='Новый клиент';
// функция, которая отправляет наше письмо.
mail($to, $title, $mess, 'From:'.$from);
header("refresh:5;url=тут укажите url адрес вашей страницы,куда хотите вернуть клиента после отправки формы");
echo '<p style="position: absolute; width: 408px; height: 70px;left: 490px; top: 203px; font-size: 25px; z-index: 9999;text-align: center;background: #6ED19D;border: 1px solid;border-radius: 10px;padding: 113px 20px;font-family: monotype corsiva;color: rgb(255, 248, 76);overflow: hidden; -webkit-box-shadow: 4px 4px 8px 0px rgba(255, 255, 255, 0.8); -moz-box-shadow: 0 8px 5px -6px rgba(0,0,0,0.4);"><a class="close"></a>Ваше сообщение отправлена на первую межгалактическую станцию,в скором времени наши менеджеры обработают вашу заявку.</p>';
}
?>
Так же заметил еще такую вещь, Если в качестве вашего емаила стоит гугловский типа "вашмаил@gmail.ru" то, письмо от клиентов приходят в папку "Спам"
<?php
// если была нажата кнопка "Отправить"
if($_POST['submit']) {
// $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались, ну и substr($_POST['title'], 0, 1000) - урезаем текст до 1000 символов. Для переменной $_POST['mess'] все аналогично
$title = substr(htmlspecialchars(trim($_POST['title'])),0,60);
$mess = substr(htmlspecialchars(trim($_POST['mess'])),0,50);
// $to - кому отправляем
$to = 'ВАШ МАИЛ@mail.ru';
// $from - от кого
$from='Новый клиент';
// функция, которая отправляет наше письмо.
mail($to, $title, $mess, 'From:'.$from);
echo 'Спасибо! Ваше письмо отправлено.';
exit(header('Location:'.$_SERVER['REQUEST_URI'].''));//Что бы при обновлении страницы повторно не отправлялась форма
}
?>
<form action="" method=post>
<div align="center">
<br />
<input style="position: absolute; width: 176px; height: 20px;left: 838px; top: 293px; font-size: 16px; z-index: 169;" name="title" rows="1" cols="40" placeholder=" Имя" title="Укажите ваше имя" accesskey="f" id="searchInput" tabindex="1" autocomplete="off">
<br />
<input style="position: absolute; width: 176px; height: 20px;left: 838px; top: 339px; font-size: 16px; z-index: 169;" name="mess" rows="1" cols="40" placeholder=" Телефон*" title="Укажите номер телефона" accesskey="f" id="searchInput" tabindex="1" autocomplete="off">
<br />
<input src="krovatka1.ru/images/otpravit.bmp" value="Отправить" name="submit" type="image" title="Подтвердить заявку" style="position: absolute; width: 182px;height: 42px;left: 838px; top: 395px; z-index: 120;">
</div>
</form>
Тут переделанный вариант того же скрипта, добавлены функция exit(header('Location:'.$_SERVER['REQUEST_URI'].''));
для того, чтобы при обновлении страницы повторно не отправлялась форма заказа. Т.к. без этого кода, каждый раз, когда клиент по каким либо причинам будет обновлять страницу,вам будет приходить один и тот же заказ при каждом обновлении)))И так же каждому полю "input" я задал ширину, высоту, и расположение на странице, можете установить и поэкспериментировать,это для тех кто не знает как его разместить в каком либо участке вашего сайта. В качестве примера можете посмотреть тут krovatka1.ru или вот тут avto-tok.ru.
Так же для создания нескольких таких форм, достаточно вот этот участок кода скопировать и задать ему свои координаты на странице вашего сайта:
<form action="" method=post>
<div align="center">
<br />
<input style="position: absolute; width: 176px; height: 20px;left: 838px; top: 293px; font-size: 16px; z-index: 169;" name="title" rows="1" cols="40" placeholder=" Имя" title="Укажите ваше имя" accesskey="f" id="searchInput" tabindex="1" autocomplete="off">
<br />
<input style="position: absolute; width: 176px; height: 20px;left: 838px; top: 339px; font-size: 16px; z-index: 169;" name="mess" rows="1" cols="40" placeholder=" Телефон*" title="Укажите номер телефона" accesskey="f" id="searchInput" tabindex="1" autocomplete="off">
<br />
<input src="krovatka1.ru/images/otpravit.bmp" value="Отправить" name="submit" type="image" title="Подтвердить заявку" style="position: absolute; width: 182px;height: 42px;left: 838px; top: 395px; z-index: 120;">
</div>
</form>
как вы уже поняли ссылку на картинку для кнопочки "отправить" вы прописываете свою в моем случае это krovatka1.ru/images/otpravit.bmp"
не работает что то, я не шарю,всё что сделал- заменил $to = 'test@test.ru' на своё мыло и $from='test@test.ru' на ещё одно своё мыло. Подскажите пожалуйста что сделать чтоб отправлялось?
подскажите пожалуйста генератор для создания формы. ни как не могу направить форму на почту. заранее спасибо
<?php
////////////////////////////////////////////////////
// SMTP - PHP SMTP class
//
// Version 1.02
//
// Define an SMTP class that can be used to connect
// and communicate with any SMTP server. It implements
// all the SMTP functions defined in RFC821 except TURN.
//
// Author: Chris Ryan
//
// License: LGPL, see LICENSE
////////////////////////////////////////////////////
/**
* SMTP is rfc 821 compliant and implements all the rfc 821 SMTP
* commands except TURN which will always return a not implemented
* error. SMTP also provides some utility methods for sending mail
* to an SMTP server.
* @package PHPMailer
* @author Chris Ryan
*/
class SMTP
{
/**
* SMTP server port
* @var int
*/
var $SMTP_PORT = 25;
/**
* SMTP reply line ending
* @var string
*/
var $CRLF = "
";
/**
* Sets whether debugging is turned on
* @var bool
*/
var $do_debug; # the level of debug to perform
/**#@+
* @access private
*/
var $smtp_conn; # the socket to the server
var $error; # error if any on the last call
var $helo_rply; # the reply the server sent to us for HELO
/**#@-*/
/**
* Initialize the class so that the data is in a known state.
* @access public
* @return void
*/
function SMTP() {
$this->smtp_conn = 0;
$this->error = null;
$this->helo_rply = null;
$this->do_debug = 0;
}
/*************************************************************
* CONNECTION FUNCTIONS *
***********************************************************/
/**
* Connect to the server specified on the port specified.
* If the port is not specified use the default SMTP_PORT.
* If tval is specified then a connection will try and be
* established with the server for that number of seconds.
* If tval is not specified the default is 30 seconds to
* try on the connection.
*
* SMTP CODE SUCCESS: 220
* SMTP CODE FAILURE: 421
* @access public
* @return bool
*/
function Connect($host,$port=0,$tval=30) {
# set the error val to null so there is no confusion
$this->error = null;
# make sure we are __not__ connected
if($this->connected()) {
# ok we are connected! what should we do?
# for now we will just give an error saying we
# are already connected
$this->error =
array("error" => "Already connected to a server");
return false;
}
if(empty($port)) {
$port = $this->SMTP_PORT;
}
#connect to the smtp server
$this->smtp_conn = fsockopen($host, # the host of the server
$port, # the port to use
$errno, # error number if any
$errstr, # error message if any
$tval); # give up after ? secs
# verify we connected properly
if(empty($this->smtp_conn)) {
$this->error = array("error" => "Failed to connect to server",
"errno" => $errno,
"errstr" => $errstr);
if($this->do_debug >= 1) {
echo "SMTP -> ERROR: " . $this->error["error"] .
": $errstr ($errno)" . $this->CRLF;
}
return false;
}
# sometimes the SMTP server takes a little longer to respond
# so we will give it a longer timeout for the first read
// Windows still does not have support for this timeout function
if(substr(PHP_OS, 0, 3) != "WIN")
socket_set_timeout($this->smtp_conn, $tval, 0);
# get any announcement stuff
$announce = $this->get_lines();
# set the timeout of any socket functions at 1/10 of a second
//if(function_exists("socket_set_timeout"))
// socket_set_timeout($this->smtp_conn, 0, 100000);
if($this->do_debug >= 2) {
echo "SMTP -> FROM SERVER:" . $this->CRLF . $announce;
}
return true;
}
/**
* Performs SMTP authentication. Must be run after running the
* Hello() method. Returns true if successfully authenticated.
* @access public
* @return bool
*/
function Authenticate($username, $password) {
// Start authentication
fputs($this->smtp_conn,"AUTH LOGIN" . $this->CRLF);
$rply = $this->get_lines();
$code = substr($rply,0,3);
if($code != 334) {
$this->error =
array("error" => "AUTH not accepted from server",
"smtp_code" => $code,
"smtp_msg" => substr($rply,4));
if($this->do_debug >= 1) {
echo "SMTP -> ERROR: " . $this->error["error"] .
": " . $rply . $this->CRLF;
}
return false;
}
// Send encoded username
fputs($this->smtp_conn, base64_encode($username) . $this->CRLF);
$rply = $this->get_lines();
$code = substr($rply,0,3);
if($code != 334) {
$this->error =
array("error" => "Username not accepted from server",
"smtp_code" => $code,
"smtp_msg" => substr($rply,4));
if($this->do_debug >= 1) {
echo "SMTP -> ERROR: " . $this->error["error"] .
": " . $rply . $this->CRLF;
}
return false;
}
// Send encoded password
fputs($this->smtp_conn, base64_encode($password) . $this->CRLF);
$rply = $this->get_lines();
$code = substr($rply,0,3);
if($code != 235) {
$this->error =
array("error" => "Password not accepted from server",
"smtp_code" => $code,
"smtp_msg" => substr($rply,4));
if($this->do_debug >= 1) {
echo "SMTP -> ERROR: " . $this->error["error"] .
": " . $rply . $this->CRLF;
}
return false;
}
return true;
}
/**
* Returns true if connected to a server otherwise false
* @access private
* @return bool
*/
function Connected() {
if(!empty($this->smtp_conn)) {
$sock_status = socket_get_status($this->smtp_conn);
if($sock_status["eof"]) {
# hmm this is an odd situation... the socket is
# valid but we aren't connected anymore
if($this->do_debug >= 1) {
echo "SMTP -> NOTICE:" . $this->CRLF .
"EOF caught while checking if connected";
}
$this->Close();
return false;
}
return true; # everything looks good
}
return false;
}
/**
* Closes the socket and cleans up the state of the class.
* It is not considered good to use this function without
* first trying to use QUIT.
* @access public
* @return void
*/
function Close() {
$this->error = null; # so there is no confusion
$this->helo_rply = null;
if(!empty($this->smtp_conn)) {
# close the connection and cleanup
fclose($this->smtp_conn);
$this->smtp_conn = 0;
}
}
/***************************************************************
* SMTP COMMANDS *
*************************************************************/
/**
* Issues a data command and sends the msg_data to the server
* finializing the mail transaction. $msg_data is the message
* that is to be send with the headers. Each header needs to be
* on a single line followed by a <CRLF> with the message headers
* and the message body being seperated by and additional <CRLF>.
*
* Implements rfc 821: DATA <CRLF>
*
* SMTP CODE INTERMEDIATE: 354
* [data]
* <CRLF>.<CRLF>
* SMTP CODE SUCCESS: 250
* SMTP CODE FAILURE: 552,554,451,452
* SMTP CODE FAILURE: 451,554
* SMTP CODE ERROR : 500,501,503,421
* @access public
* @return bool
*/
function Data($msg_data) {
$this->error = null; # so no confusion is caused
if(!$this->connected()) {
$this->error = array(
"error" => "Called Data() without being connected");
return false;
}
fputs($this->smtp_conn,"DATA" . $this->CRLF);
$rply = $this->get_lines();
$code = substr($rply,0,3);
if($this->do_debug >= 2) {
echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply;
}
if($code != 354) {
$this->error =
array("error" => "DATA command not accepted from server",
"smtp_code" => $code,
"smtp_msg" => substr($rply,4));
if($this->do_debug >= 1) {
echo "SMTP -> ERROR: " . $this->error["error"] .
": " . $rply . $this->CRLF;
}
return false;
}
# the server is ready to accept data!
# according to rfc 821 we should not send more than 1000
# including the CRLF
# characters on a single line so we will break the data up
# into lines by
and/or
then if needed we will break
# each of those into smaller lines to fit within the limit.
# in addition we will be looking for lines that start with
# a period '.' and append and additional period '.' to that
# line. NOTE: this does not count towards are limit.
# normalize the line breaks so we know the explode works
$msg_data = str_replace("
","
",$msg_data);
$msg_data = str_replace("
","
",$msg_data);
$lines = explode("
",$msg_data);
# we need to find a good way to determine is headers are
# in the msg_data or if it is a straight msg body
# currently I'm assuming rfc 822 definitions of msg headers
# and if the first field of the first line (':' sperated)
# does not contain a space then it _should_ be a header
# and we can process all lines before a blank "" line as
# headers.
$field = substr($lines[0],0,strpos($lines[0],":"));
$in_headers = false;
if(!empty($field) && !strstr($field," ")) {
$in_headers = true;
}
$max_line_length = 998; # used below; set here for ease in change
while(list(,$line) = @each($lines)) {
$lines_out = null;
if($line == "" && $in_headers) {
$in_headers = false;
}
# ok we need to break this line up into several
# smaller lines
while(strlen($line) > $max_line_length) {
$pos = strrpos(substr($line,0,$max_line_length)," ");
# Patch to fix DOS attack
if(!$pos) {
$pos = $max_line_length - 1;
}
$lines_out[] = substr($line,0,$pos);
$line = substr($line,$pos + 1);
# if we are processing headers we need to
# add a LWSP-char to the front of the new line
# rfc 822 on long msg headers
if($in_headers) {
$line = " " . $line;
}
}
$lines_out[] = $line;
# now send the lines to the server
while(list(,$line_out) = @each($lines_out)) {
if(strlen($line_out) > 0)
{
if(substr($line_out, 0, 1) == ".") {
$line_out = "." . $line_out;
}
}
fputs($this->smtp_conn,$line_out . $this->CRLF);
}
}
# ok all the message data has been sent so lets get this
# over with aleady
fputs($this->smtp_conn, $this->CRLF . "." . $this->CRLF);
$rply = $this->get_lines();
$code = substr($rply,0,3);
if($this->do_debug >= 2) {
echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply;
}
if($code != 250) {
$this->error =
array("error" => "DATA not accepted from server",
"smtp_code" => $code,
"smtp_msg" => substr($rply,4));
if($this->do_debug >= 1) {
echo "SMTP -> ERROR: " . $this->error["error"] .
": " . $rply . $this->CRLF;
}
return false;
}
return true;
}
/**
* Expand takes the name and asks the server to list all the
* people who are members of the _list_. Expand will return
* back and array of the result or false if an error occurs.
* Each value in the array returned has the format of:
* [ <full-name> <sp> ] <path>
* The definition of <path> is defined in rfc 821
*
* Implements rfc 821: EXPN <SP> <string> <CRLF>
*
* SMTP CODE SUCCESS: 250
* SMTP CODE FAILURE: 550
* SMTP CODE ERROR : 500,501,502,504,421
* @access public
* @return string array
*/
function Expand($name) {
$this->error = null; # so no confusion is caused
if(!$this->connected()) {
$this->error = array(
"error" => "Called Expand() without being connected");
return false;
}
fputs($this->smtp_conn,"EXPN " . $name . $this->CRLF);
$rply = $this->get_lines();
$code = substr($rply,0,3);
if($this->do_debug >= 2) {
echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply;
}
if($code != 250) {
$this->error =
array("error" => "EXPN not accepted from server",
"smtp_code" => $code,
"smtp_msg" => substr($rply,4));
if($this->do_debug >= 1) {
echo "SMTP -> ERROR: " . $this->error["error"] .
": " . $rply . $this->CRLF;
}
return false;
}
# parse the reply and place in our array to return to user
$entries = explode($this->CRLF,$rply);
while(list(,$l) = @each($entries)) {
$list[] = substr($l,4);
}
return $list;
}
/**
* Sends the HELO command to the smtp server.
* This makes sure that we and the server are in
* the same known state.
*
* Implements from rfc 821: HELO <SP> <domain> <CRLF>
*
* SMTP CODE SUCCESS: 250
* SMTP CODE ERROR : 500, 501, 504, 421
* @access public
* @return bool
*/
function Hello($host="") {
$this->error = null; # so no confusion is caused
if(!$this->connected()) {
$this->error = array(
"error" => "Called Hello() without being connected");
return false;
}
# if a hostname for the HELO wasn't specified determine
# a suitable one to send
if(empty($host)) {
# we need to determine some sort of appopiate default
# to send to the server
$host = "localhost";
}
// Send extended hello first (RFC 2821)
if(!$this->SendHello("EHLO", $host))
{
if(!$this->SendHello("HELO", $host))
return false;
}
return true;
}
/**
* Sends a HELO/EHLO command.
* @access private
* @return bool
*/
function SendHello($hello, $host) {
fputs($this->smtp_conn, $hello . " " . $host . $this->CRLF);
$rply = $this->get_lines();
$code = substr($rply,0,3);
if($this->do_debug >= 2) {
echo "SMTP -> FROM SERVER: " . $this->CRLF . $rply;
}
if($code != 250) {
$this->error =
array("error" => $hello . " not accepted from server",
"smtp_code" => $code,
"smtp_msg" => substr($rply,4));
if($this->do_debug >= 1) {
echo "SMTP -> ERROR: " . $this->error["error"] .
": " . $rply . $this->CRLF;
}
return false;
}
$this->helo_rply = $rply;
return true;
}
/**
* Gets help information on the keyword specified. If the keyword
* is not specified then returns generic help, ussually contianing
* A list of keywords that help is available on. This function
* returns the results back to the user. It is up to the user to
* handle the returned data. If an error occurs then false is
* returned with $this->error set appropiately.
*
* Implements rfc 821: HELP [ <SP> <string> ] <CRLF>
*
* SMTP CODE SUCCESS: 211,214
* SMTP CODE ERROR : 500,501,502,504,421
* @access public
* @return string
*/
function Help($keyword="") {
$this->error = null; # to avoid confusion
if(!$this->connected()) {
$this->error = array(
"error" => "Called Help() without being connected");
return false;
}
$extra = "";
if(!empty($keyword)) {
$extra = " " . $keyword;
}
fputs($this->smtp_conn,"HELP" . $extra . $this->CRLF);
$rply = $this->get_lines();
$code = substr($rply,0,3);
if($this->do_debug >= 2) {
echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply;
}
if($code != 211 && $code != 214) {
$this->error =
array("error" => "HELP not accepted from server",
"smtp_code" => $code,
"smtp_msg" => substr($rply,4));
if($this->do_debug >= 1) {
echo "SMTP -> ERROR: " . $this->error["error"] .
": " . $rply . $this->CRLF;
}
return false;
}
return $rply;
}
/**
* Starts a mail transaction from the email address specified in
* $from. Returns true if successful or false otherwise. If True
* the mail transaction is started and then one or more Recipient
* commands may be called followed by a Data command.
*
* Implements rfc 821: MAIL <SP> FROM:<reverse-path> <CRLF>
*
* SMTP CODE SUCCESS: 250
* SMTP CODE SUCCESS: 552,451,452
* SMTP CODE SUCCESS: 500,501,421
* @access public
* @return bool
*/
function Mail($from) {
$this->error = null; # so no confusion is caused
if(!$this->connected()) {
$this->error = array(
"error" => "Called Mail() without being connected");
return false;
}
fputs($this->smtp_conn,"MAIL FROM:<" . $from . ">" . $this->CRLF);
$rply = $this->get_lines();
$code = substr($rply,0,3);
if($this->do_debug >= 2) {
echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply;
}
if($code != 250) {
$this->error =
array("error
Скажите, как мне настроить правильно кодировку, а то на некоторые почтовые клиенты приходят иероглифы?
Вот сам обработчик:
<?
$url = "mysite.ua/"; //Ваша страница, где вы будете ставить форму обратной связи.
$headers = 'MIME-Version: 1.0' . "
";
$header.="
Content-type: text/html; charset="utf-8"";
$title = "mysite.ua"; //адрес вашего сайта
$subject="=?utf-8?B?". base64_encode("Заказ"). "?="; //Тема отправляемых вам сообщений
$admail = "mail@mysite.ua"; //Ваш e-mail, на который будут отправляться письма
$back = "<p><a href="javascript: history.back()">Назад</a></p>";
if(@$_POST['name'] or @$_POST['website'] or @$_POST['phone'] or @$_POST['email'] or @$_POST['text_message'])
{
@$name = $_POST['name'] or die("Убедитесь, что вы ввели свое имя!$back");
@$website = $_POST['website'] or die("Убедитесь, что вы ввели адрес своего сайта!$back");
@$phone = $_POST['phone'] or die("Убедитесь, что вы ввели свой телефон!$back");
@$email = $_POST['email'] or die("Убедитесь, что вы ввели свой E-mail!$back");
@$text_message = $_POST['text_message'] or die("Убедитесь, что вы ввели сообщение!$back");
if(!eregi("^[a-z0-9._-]+@[a-z0-9._-]+.[a-z]{2,4}$", $email))
{
echo "Убедитесь, что вы ввели корректный E-mail!$back";
exit;
}
$content = "
Имя $name!
Адрес: $email
Сайт: $website
Телефон: $phone
Отправил(а) вам письмо с сайта - "$title"
Тема - $subject,
Содержанием:
$text_message";
if(!@mail($admail, $subject, $content))
{
echo "<link rel='stylesheet' type='text/css' href='style.css'/>
<table width='600' height='300' align='center'>
<tr>
<td class='warning_table' width='220' align='center' valign='middle'>
<img align='center' src='image/warning.png'>
<div align='center' >Ошибка!!!</div>
<div align='center'>Выше письмо не отправлено. Введите корректно все данные!</div>
<p align='center'><a href='mysite' class='all_links'>Вернуться назад</a></div></p>
</td>
</tr>
</table>";
exit;
}
else
{
echo "<link rel='stylesheet' type='text/css' href='style.css'/>
<table width='600' height='300' align='center'>
<tr>
<td class='warning_table' width='220' align='center' valign='middle'>
<img align='center' src='image/warning.png'>
<div align='center' >Поздравляем!</div>
<div align='center' >Ваше письмо отправлено!</div>
<p align='center'><a href='mysite' class='all_links'>Вернуться назад</a></div></p>
</td>
</tr>
</table>";
echo "<meta http-equiv="refresh" content="6;URL=$url">";
}
}
else {
die("<link rel='stylesheet' type='text/css' href='style.css'/>
<table width='600' height='300' align='center'>
<tr>
<td class='warning_table' width='220' align='center' valign='middle'>
<img align='center' src='image/warning.png'>
<div align='center'>Пожалуйста!</div>
<div align='center'>Для отправки сообщения заполните все поля.</div>
<p align='center'><a href='mysite' class='all_links'>Вернуться назад</a></div></p>
</td>
</tr>
</table>");
}
?>
Подскажите скрипт магазина отправляет владельцу письмо заказа.
В письме ссылка на товар -часть ссылки переводит в текст.
Как сохранить ссылку целой?
11.11.2012 Sasha
Доброго времени суток. Прикрутил себе на сайт такую форму все работает нормально, но вот такая проблема, при отправки письма, письмо приходит как от сервера а не от сайта (например: user@hosting.ua) а хотелось бы чтобы проходило как от сайта (например: user@mysite.com). Может кто подскажет что делать, заранее спасибо!
Ответить на это сообщение
11.11.2012 Sasha
все вопрос снимается, разобрался
09.07.2013 Vadim
а как решил то?
КТО-НИБУДЬ ответит как это сделать?
04.08.2013 Дмитрий
"09.07.2013 Vadim
а как решил то?
КТО-НИБУДЬ ответит как это сделать?"
--------------------------------------
Всё дело в том, что поле "от кого", должно быть именно формата mail@mail.ru, тоесть именно почтовый ящик отвечающий требованиям регулярного выражения: ([a-zA-Z0-9]+)@([a-zA-Z]+)\.([a-zA-Z]+)
P.S. в выражении мог ошибиться, давно не писал их :) Но суть думаю ясна.
А если будет не "mail@mail.ru", а например "zagolovok", то автоматом при отправке это слово заменится просто на email сервер хостинга.
на майл.ру приходит сообщение с ошибкой мейл пишет надо исправить заголовки.
вот код реги
$name_from = $sitename;
$email_from = $siteemail;
$email_to = $email;
$subject = "Регистрация на $sitename";
$body = "Здравствуйте.<br />Вы успешно зарегистрировались на $sitename.<br />
Для входа на сайт используйте следующие данные: <br />
E-Mail: $email<br />
Пароль: $password<br />
Ваше имя: $username<br />С Уважением, Администрация сайта";
//И сам вызов функции
// send_mime_mail(''.$name_from.'',
// ''.$email_from.'', //Ваш емайл, или куда им отвечать на письмо
// ''.$email_to.'', //куда письма рассылаем
// 'windows-1251',
// 'windows-1251',
// ''.$subject.'',
// ''.$body.'');
$headers = "Content-type: text/html; charset=windows-1251 \r\n";
$headers .= "From: $siteemail \r\n";
mail($email_to, $subject, $body, $headers);
на яндех приходит нормально
Такой вопрос. Есть рабочая форма с полями имени, адреса, текста сообщения и вложением. Как защитить форму на отправку пустого сообщения или любого из полей.
Сама форма:
<form action="mail.php" method="post" enctype="multipart/form-data">
<form method="post" action="mail.php">
<h3><strong> Name:</strong></h3>
<p>
<input name="name" type="text" style="width:370px; height:30px; background:#FFFFFF; border:1px solid #CCCCCC; color:#191970;" maxlength="50" />
</p>
<h3><strong>Your e-mail:</strong></h3>
<p>
<input name="e_mail" type="text" style="width:370px; height:30px; background:#FFFFFF; border:1px solid #CCCCCC; color:#191970;" maxlength="50" />
</p>
<h3><strong>Message:</strong></h3>
<p>
<textarea name="text" style="width:370px; height:150px; background:#FFFFFF; border:1px solid #CCCCCC; color:#191970;"></textarea>
</p>
<p>
<input type="file" size="37" name="files">
</p>
<p> </p>
<blockquote>
<blockquote>
<blockquote>
<p>
<input type="image" title="Send a message" src="images/sendbutton.png" width=100px"height="34px"alt="Отправить" />
</p>
</blockquote>
</blockquote>
</blockquote>
</form>
И mail.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Contact us</title>
</head>
<body>
<?php
function send_mail()
{
$name = htmlspecialchars($_REQUEST['name']);
}
{
$email = htmlspecialchars($_REQUEST['email']);
}
$message = '<HTML><BODY><b>Name: </b>'.$_REQUEST['name'].'<br> <b>E-mail: </b>'.$_REQUEST['e_mail'].'<br><b>Subgect: </b>'.$_REQUEST['text'].'</BODY></HTML>';
include "class.phpmailer.php";// подключаем класс
$mail = new PHPMailer();
$mail->CharSet = "UTF-8";
$mail->From = $_REQUEST['email'];
$mail->FromName = $_REQUEST['name'];
$mail->AddAddress('*********@gmail.com');
$mail->IsHTML(true);
$mail->Subject = 'Massege from Page Layout Services';
if(isset($_FILES['files']))
{
if($_FILES['files']['error'] == 0)
{
$mail->AddAttachment($_FILES['files']['tmp_name'],$_FILES['files']['name']);
}
}
$mail->Body = $message;
if (!$mail->Send()) die ('Mailer Error: '.$mail->ErrorInfo);
{
echo '<script type="text/javascript">';
echo 'window.location.href="thank-you.html";';
echo '</script>';
}
if (!empty($_POST['submit'])) send_mail();
?>
</body>
</html>
Здравствуйте.
есть php-обработчик формы.
$i=0;
$firma=$_POST["Editbox1"];
$lico=$_POST["Editbox2"];
$tlf=$_POST["Editbox3"];
$mylo=$_POST["Editbox4"];
$url=$_POST["Editbox5"];
if (($firma!="")or($lico!="")or($tlf!="")or($mylo!="")or($url!="")) {
$f=fopen ("spisok.csv", a);
$data=$firma+"|"+$lico+"|"+$tlf+"|"+$mylo+"|"+$url+"\r\n";
fwrite ($f, $data);
fclose ($f);
$msg="Предприяте: "+$firma+"\r\n"+"Контактное лицо: "+$lico+"\r\n"+"Контактный тлф: "+$tlf+"\r\n"+"Адрес e-mail: "+$mylo+"\r\n"+"Адрес сайта: "+$url;
mail ("sashabycador@yandex.ru", "Новый участник чемпионата по футзалу БЛВО!", $msg);
$i=1;}
Переменные берутся из массива нормально, я вставлял оператор echo, и перед оператором if выводил перемененные на страницу - они вывелись нормально. Но в csv-файл записываются какие-то цифры, и на почту приходит одна цифра 8. Что сделано не так?
14.06.2013 Саша
Сейчас в строке
$msg="Предприяте: "+$firma+"\r\n"+"Контактное лицо: "+$lico+"\r\n"+"Контактный тлф: "+$tlf+"\r\n"+"Адрес e-mail: "+$mylo+"\r\n"+"Адрес сайта: "+$url;
поменял плюсы на точки. Пришла только половина данных из формы:
0Адрес e-mail: sashabycador@yandex.ru
Адрес сайта: www.fc-techno.ru
14.06.2013 Саша
Сейчас в строке
$msg="Предприяте: "+$firma+"
"+"Контактное лицо: "+$lico+"
"+"Контактный тлф: "+$tlf+"
"+"Адрес e-mail: "+$mylo+"
"+"Адрес сайта: "+$url;
поменял плюсы на точки. Пришла только половина данных из формы:
0Адрес e-mail: sashabycador@yandex.ru
Адрес сайта: www.fc-techno.ru
помогите плиз обработчик пресылает на почту только 3переменных а поле имя: пустым
<?php
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['email'])) {$email = $_POST['email'];}
if (isset($_POST['tel'])) {$tel = $_POST['tel'];}
if (isset($_POST['message'])) {$message = $_POST['message'];}
$address = "info@some.ru";
$mes = "ВЫЗОВ ДИЗАЙНЕРА\nЕго Имя: $name \n E-mail: $email \nТелефон:$tel \nАдрес: $message";
$send = mail ($address,$message,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$email");
if ($send == 'true') {
print 'Сообщение отправлено';
} else {
print 'Сообщение не отправлено';
}
include('index.html');
на почту приходит вот так
ВЫЗОВ ДИЗАЙНЕРА
Имя:
E-mail: aa@ss
Телефон:121
Адрес: 11111
помогите разобратся в чем дело
18.06.2013 sshishov
Хорошо бы увидеть код для формы, чтобы знать наверняка, что параметры названы правильно. Думаю что name="name" не должно ни с чем конфликтовать... смотри внимательней на имена)
Здравствуйте помогите пожалуйста . у меня есть форма которую нужно заполнить например покупателю. как мне сделать так чтобы заполнив ее он нажал кнопку отправить и его заявка пришла ко мне на емейл ?
<FORM NAME = "Он-лайн заявка" ACTION = "mailto:stroibiznes2006@yandex.ru?Subject=Заявка на доставку груза" METHOD = "POST" ENCTYPE = "text/plain">
<table>
<tr>
<td>
<p style="font-size:11; color:#000000;
font-family: verdana, serif;" align="left">Ф.И.О.</p>
<td>
<input type=text name="Ф.И.О." size=23 value='' maxlength=30
style='border: 1px black solid; font-size: 11px; width:300; color:black;'>
<TR>
<td>
<p style="font-size:11; color:#000000;
font-family: verdana, serif;" align="left">E-mail</p>
<td>
<input type=text name="E-mail" size=23 value='' maxlength=30
style='border: 1px black solid; font-size: 11px; width:300; color:black;'>
<TR>
<td>
<p style="font-size:11; color:#000000;
font-family: verdana, serif;" align="left">Контактный телефон</p>
<td>
<input type=text name="Телефон" size=23 value='' maxlength=30
style='border: 1px black solid; font-size: 11px; width:300; color:black;'>
<TR>
<td>
<p style="font-size:11; color:#000000;
font-family: verdana, serif;" align="left">Страна</p>
<td>
<input type=text name="Рейс (откуда и куда)" size=23 value='' maxlength=30
style='border: 1px black solid; font-size: 11px; width:300; color:black;'>
<TR>
<td>
<p style="font-size:11; color:#000000;
font-family: verdana, serif;" align="left">Город</p>
<td>
<input type=text name="Место загрузки" size=23 value='' maxlength=30
style='border: 1px black solid; font-size: 11px; width:300; color:black;'>
<TR>
<td>
<p style="font-size:11; color:#000000;
font-family: verdana, serif;" align="left">Улица</p>
<td>
<input type=text name="Время загрузки" size=23 value='' maxlength=30
style='border: 1px black solid; font-size: 11px; width:300; color:black;'>
<TR>
<td>
<p style="font-size:11; color:#000000;
font-family: verdana, serif;" align="left">Дом/квартира</p>
<td>
<input type=text name="Место разгрузки" size=23 value='' maxlength=30
style='border: 1px black solid; font-size: 11px; width:300; color:black;'>
<tr>
<td>
<p style="font-size:11; color:#000000;
font-family: verdana, serif;" align="left">Индекс</p>
<td>
<input type=text name="Время разгрузки" size=23 value='' maxlength=30
style='border: 1px black solid; font-size: 11px; width:300; color:black;'>
<tR>
<td>
<p style="font-size:11; color:#000000;
font-family: verdana, serif;" align="left">Желаемый автомобиль</p>
<td><select name="Желаемый автомобиль:"><option value="Газель">Почта Украины
</option><option value="Бычок (3т,15 куб.)" >Почта России
</option><option value="ЗИЛ (5т, 25куб.)">Новая почта (Только для Украины)
</option></select></td></tr>
<tR>
<td>
<p style="font-size:11; color:#000000;
font-family: verdana, serif;" align="left">Форма оплаты:</p>
<td><select name="Форма оплаты:"><option value="100% предоплата">100% предоплата
</option><option value="Наложенный платёж" >Наложенный платёж
</option></select></td></tr>
<tR>
<td>
<p style="font-size:11; color:#000000;
font-family: verdana, serif;" align="left">Цифровая версия?</p>
<td><select name="Застрахован ли груз?"><option value="Да">Да
</option><option value="Нет" >Нет
</option></select></td></tr>
<tr>
<td>
<p style="font-size:11; color:#000000;
font-family: verdana, serif;" align="left">Дополнительная <br>информация </p>
<td>
<TEXTAREA type=text name="Дополнительная информация:" size=23 value='' maxlength=30
style='border: 1px black solid; font-size: 11px; width:300; color:black;' COLS=50 ROWS=6>
</TEXTAREA>
</table>
<input type=submit value='Отправить'
style='border: 1px black solid; font-size: 11px; width:152; background-Color:#ffffff; color:black;'>
</FORM>
<INPUT TYPE = "hidden" SIZE = 0 NAME = "Host" value="<!--#echo var="REMOTE_HOST"-->
<INPUT TYPE = "hidden" SIZE = 0 NAME = "IP" value="<!--#echo var="REMOTE_ADDR"-->
23.04.2013 Александр
Воспользуйтесь генератором, либо внимательно почитайте примеры. Это несложно, просто никто не захочет за Вас тратить время и писать полностью код. Форма у Вас уже есть, надо просто написать ее обработку на php. Примеры есть, нужно просто подставить Ваши переменные.
Добрый день! Я начинающий сайтостроитель и еще только знакомлюсь с РНР, делаю другу сайт и столкнулась с проблемой: нужно встроить форму обратной связи, что уже сделано, но на мою почту приходит письмо без данный из заполненных форм. Читала примеры, эксперементировала с кодом, но так ничего и не получается. Помогите пожалуйста найти ошибку, буду очень признательна.
код формы:
<table>
<tr>
<td width=300> </td>
<td class="main-text"><form action="mail.php" method="&_post" name="f1">
<p>Ваши имя и фамилия или название организации:<br>
<input type="text" name="&name"></p>
<p>Контактный телефон:<br>
<input type="text" name="&phone"></p>
<p>Адрес отправления:<br>
<textarea name="&address1" rows="5" cols="30"></textarea></p>
<p>Адрес получателя:<br>
<textarea name="&address2" rows="5" cols="30"></textarea>
<br>
<br>
<input type="submit" value="Отправить сообщение"></p>
</form></td>
<td width=300> </td>
</tr>
</table>
РНР файл:
<?php
if (isset($_POST['$name'])) {$name = $_POST['$name'];}
if (isset($_POST['$phone'])) {$phone = $_POST['$phone'];}
if (isset($_POST['$address1'])) {$address1 = $_POST['address1'];}
if (isset($_POST['$address2'])) {$address2 = $_POST['$address2'];}
$address = '?????@inbox.lv';
$sub = "New order";
$mes = "Name: $name
Phone: $phone
Address1: $address1
Address2: $address2";
$verify = mail($address,$sub,$mes,"Content-type:text/plain; charset = windows-1251
From:$email");
if ($verify == 'true')
{
echo "<p>Сообщение отправлено";
}
else
{
echo "<p>Сообщение не отправлено";
}
?>
28.03.2013 Александр
<table>
<tr>
<td width=300> </td>
<td class="main-text"><form action="mail.php" method="post" name="f1">
<p>Ваши имя и фамилия или название организации:<br>
<input type="text" name="name"></p>
<p>Контактный телефон:<br>
<input type="text" name="phone"></p>
<p>Адрес отправления:<br>
<textarea name="address1" rows="5" cols="30"></textarea></p>
<p>Адрес получателя:<br>
<textarea name="address2" rows="5" cols="30"></textarea>
<br>
<br>
<input type="submit" value="Отправить сообщение"></p>
</form></td>
<td width=300> </td>
</tr>
</table>
РНР файл:
<?php
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['phone'])) {$phone = $_POST['phone'];}
if (isset($_POST['address1'])) {$address1 = $_POST['address1'];}
if (isset($_POST['address2'])) {$address2 = $_POST['address2'];}
$address = $email = '?????@inbox.lv';
$sub = "New order";
$mes = "Name: $name Phone: $phone Address1: $address1 Address2: $address2";
$verify = mail($address,$sub,$mes,"Content-type:text/plain; charset = windows-1251 From:$email");
if ($verify == 'true')
{
echo "<p>Сообщение отправлено";
}
else
{
echo "<p>Сообщение не отправлено";
}
?>
Здравствуйте ! всё классно, сделал под себя на примере этого скрипта, но нет присоединения файлов вот чего не хватает. я не хочу усложнять, нужно просто так же как и этот скрипт !
Как сделать прикрепление файлов к этому скрипту ? помогите пожалуйста кодом, не соображу как прикрутить.
файлы нужно не загружать на хостинг а с компьютера открывать и отправлять напрямую
02.03.2013 Александр
Третий пример посмотрите
Здравствуйте!
Письма отправляются, но не видно данных отправителя.
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 4.01 Transitional//EN"
<html/>
<head>
<title>Страница изучения таблиц</title>
<meta http-equiv="Content-Type" content="text/html;charset=Windows-1251">
<meta name="keyword" content="недорогие путешествия">
<meta name="description" content="путешествия, работа за грантицей, США, ОАЭ">
<head/>
<body>
<h1 align="center">Формы</h1>
<table border="1" width="400" bgcolor="white" align="center" bordercolor="blue" cellpadding="10" cellspacing="5">
<tr>
<td>
<form action="obrabotka.php" method="POST" name="form1">
<p><strong>Введите свое ФИО</strong><br>
<input type="text" name="fio" width="20">
</p>
<p><strong>Введите пароль</strong><br>
<input type="password" name="pass" width="20">
</p>
<p><strong>Введите e-mail</strong><br>
<input type="text" name="email" width="20">
</p>
<p><strong>Выберите формат диска</strong><br>
<input type="radio" name="format" value="DVD" checked>DVD<br>
<input type="radio" name="format" value="CD">CD<br>
</p>
<p><strong>Выберите курсы для заказа</strong><br>
<input type="checkbox" name="site" value="1" checked>Курс по созданию сайтов<br>
<input type="checkbox" name="book" value="1">Курс по созданию электронной книги<br>
</p>
<p><strong>Выберите тип доставки</strong><br>
<select name="delivery">
<option>Срочная</option>
<option>Обычная</option>
</select>
</p>
php
<?php
if (isset($site)) {$site="Да";} else {$site="Нет";}
if (isset($book)) {$book="Да";} else {$book="Нет";}
$v = mail("yulya.1988@mail.ru","Заказ сайта","На сайте был сделан заказ. \n Заказ пришел от: $fio \n Его пароль: $pass \n Его e-mail: $email \n Выбрал формат диска: $format \n Выбрал курсы: курс по созданию сайта: $site \n Курс по созданию электронных книг: $book \n Выбрал тип доставки: $delivery \n Адрес для доставки: $address","Content-type:text/plain; charset = windows-1251\r\n");
if ($v == "true") {echo "Ваше сообщение успешно доставлено!";}
?>
письмо выглядит так
На сайте был сделан заказ.
Заказ пришел от:
Его пароль:
Его e-mail:
Выбрал формат диска:
Выбрал курсы: курс по созданию сайта: Нет Курс по созданию электронных книг: Нет Выбрал тип доставки:
Адрес для доставки:
В чем моя ошибка?
21.01.2013 Александр
Попробуйте так:
...
Заказ пришел от: ".$_POST['fio']." \n Его пароль: ".$_POST['pass']." \n Его e-mail: ".$_POST['email']."
...
22.01.2013 Юлия
Александр, что-то не получилось. Syntaxes error
12.02.2013 Алексей
Если представлен весь php-скрипт, то данные никогда не дойдут. Потому что Вы нигде не принимаете данные полей формы. Поскольку, выбран метод POST (form method="POST"), значит принимать данные нужно с помощью $_POST.
Может этого будет достаточно:
www.softtime.ru/info/task.php?id_article=87
Ребят а не подскажите как сделать функцию "Добавить сообщение" как на этом сайте, пожалуйста пишите вот сюда bekkazim@Mail.ru. Спасибо.
Я хотел тестировать но не получается,когда я открываю через google он просто скачивает файл php.1!Как исправить ошибку!
13.01.2013 Тож чел
А ты сделай файл 1.php вместо php.1
Приветствую!!! Вопрос на который не могу найти ответ в интернете, кто знает а как сделать в таких скриптах отправки писем функцию $From = не одну, а много, то и есть чтоб письма приходили не от одного почтового адреса а от множество почтовых адресов но одному почтовому адресу??? до пустим как можно прописать в этом скрипте функцию $From чтоб к примеру мыльники почтовые адреса (БОТЫ) отправителей брались к примеру с тхт файла???? повторюсь именно отправителей $From а не $to = эта получатели, эта понятная и всем известная функция, а вот функцию $From= как сделать не ограниченной??? может кто знает как отпишитесь мне на мыло dl12345665@gmail.com
Как сделать через несколько секунд автоматический возврат на предыдущую страницу, после отправки формы?
03.12.2012 Александр
1)
<script type="text/javascript">
setTimeout('location.replace("/lalala.php")', 3000);
/*Изменить текущий адрес страницы через 3 секунды (3000 миллисекунд)*/
</script>
2)
<meta http-equiv="refresh" content="3; url=/lalala.php">
3)
<?php
header('Refresh: 3; URL=/lalala.php');
echo 'Через 3 сек. вы будете перенаправлены на новую страницу.';
exit;
?>
Заголовки функцией header нужно отправлять до любого вывода текста в браузер! Даже перед <?php не должно быть пробелов!
подскажите как поставить ограничение на отправку сообщений... т.е. одно сообщение от одного пользователя
Доброго времени суток. Прикрутил себе на сайт такую форму все работает нормально, но вот такая проблема, при отправки письма, письмо приходит как от сервера а не от сайта (например: user@hosting.ua) а хотелось бы чтобы проходило как от сайта (например: user@mysite.com). Может кто подскажет что делать, заранее спасибо!
11.11.2012 Sasha
все вопрос снимается, разобрался
09.07.2013 Vadim
а как решил то?
Спасибо автору этой заметки! Все работает как швейцарские часы :)
Привет, есть вопросы по форме:
Вставил код в блокнотный файл, сохранил с расширением php. Залил к себе на сервер. Форма отображается, но после нажатия кнопки, данные пропадают из формы и письмо не приходит. Исправил только:
$to = 'test@test.ru';
на
на свою почту
Подскажи плиз в чем проблема?
<?php
/* Вмикаємо (1) чи вимикаємо (0) показ помилок */
ini_set('display_errors', 1);
error_reporting(E_ALL);
/*echo "mail@$SERVER_NAME";*/
/*формується лист*/
$to = "mail@mail.mail";//куди слати
$subject ="тех-підтримка2"; //тема
$message = $_POST['mess']; //текст повідомлення
$Login = $_POST['login_name']; // Читаємо логін
$emails = $_POST['email_repli']; // пошта відправника
$headers = "From: mail@".$_SERVER['HTTP_HOST'] . "\r\n" . //від кого
"Reply-To: $emails" . "\r\n" . // адреса для відповіді
/*'Cc: mail@mail.mail'."\r\n".*/
'Content-type: text/html; charset=utf-8' . "\r\n";
mail($to, $subject, $message, $headers);// власне відправка
/*header('Location: ../'); *///повертаємось на один каталог вище
//echo "mail@$SERVER_NAME";
?>
Подскажите почему не работает Reply-To: ?
a kak mne otpravit 5000 soobsheniy vsem polzovatelyam na mial.ru govory srazu eto ne adresa s porn..0 eto prosto prozba ni chego lichnogo. Napishite mne na roma4ever2012@yandex.ru spasibo
Как отправить письмо с трёма товарами из базы данных майэскьюэл Я пробую вайл поместить в тело письма
Как с этим бороться? Подскажите, если кто знает? Пытаюсь отправить через ukr.net. Спасибо!
<br>Warning: mail() [function.mail]: Failed to connect to mailserver at \"localhost\" port 25, verify your \"SMTP\" and \"smtp_port\" setting in php.ini or use ini_set() in
Боже мой, что опубликовалось?!?
Еще одна попытка.
Код:
$IO = 'Ирина Геннадьевна-3!';
$IO = '=?utf-8?B?'.base64_encode($IO).'?='.'\n';
$subject = 'Сам текст в utf-8 без перекодировки';
$body = $IO.'Текст записан в UTF-8.';
$headers = 'From: no_reply@test.ru'.'\n';
$headers .= 'Content-type:text/html; charset=\'utf-8\'';
mail($to, $subject, $body, $headers);
Где я ошиблась???
Письма корректно не отправляются. Видимо, проблема в том, что тело письма - в windows-1251, а письмо пытаюсь отправить в utf-8. Помогло только то, что описала 4 дня назад. НО. Раньше в начале письма шло обращение ($IO = \'Иван Иванович!\'), которое бралось из базы. Попробовала подставить:
<br>$IO = \"=?utf-8?B?\".base64_encode($IO).\"?=\";
<br>дальше - непосредственно в utf-8. Приходит белиберда:
<br>
<br>=?utf-8?B?yPDo7eAgw+Xt7eDk/OXi7eAtMyE=?= Текст записан в UTF-8.
<br>
<br>Читаемая фраза прямо в коде записана в utf-8.
<br>Код:
<br>$IO = \'Ирина Геннадьевна-3!\';
<br>$IO = \"=?utf-8?B?\".base64_encode($IO).\"?=\".\"\\n\";
<br>$subject = \'Сам текст в utf-8 без перекодировки\';
<br>$body = $IO.\'Текст записан в UTF-8.\';
<br>$headers = \'From: no_reply@test.ru\'.\"\\n\";
<br>$headers .= \'Content-type:text/html; charset=\"utf-8\"\';
<br>mail($to, $subject, $body, $headers);
<br>
<br>
<br>Где я ошиблась???
я писал, что не опознаётся функция, когда запускаешь первый пример. вот какая выходит диагностика: Fatal error: Call to undefined function substr() in /home/u457329891/public_html/11mail1/index.php on line 11
07.07.2012 Евгений
разобрался. перебрал текст. заменил амперсанд в двух строках на ковычки и всё заработало. сам не понял что я такова сделал, но факт.
вот пробовал первый пример и выходит, что не опознана функция substr, убрал её, но теперь идёт сообщение на функцию htmlspecialchars итак далее. такое ощущение, что надо библиотеку подключить или что ещё. я только только самостоятельно изучаю PHP, так что извеняюсь за ламерский вопрос. делаю всё в денвере. хотя на хосте 16mb.com такая же диагностика выходит. типа не находит такой функции.
Несколько дней не могла решить проблему - отправлять письма в кодировке utf-8. Перекодировала тему, тело, подставляла контент. Ничего не помогало - тема письма проходит, а остальное-нет, не читается.
Помогло очень простое решение - в самом скрипте php тему и тело сообщения перекодировала в utf-8, благо сообщения фиксированные - не из БД, просто уведомления, и все прошло - письма получила читабельные полностью.
Надеюсь, комк-нибудь пригодится.
07.07.2012 Евгений
Ирина, подскажите какой вы функцией воспользовались и пожалуйста напишите пример.
Почему-то при нажатие на кнопку отправить скачивается php файл. Что это значит?
06.07.2012 Александр
Ищите новый сервер-хостинг с поддержкой php
Спасибо за форму работает отлично. Прикрутил предзаполнение, все прекрасно. Но возникла такая проблема, в оригинале после отправки письма, выводится текст вместо формы, но у меня после отправки письма форма остается и под формой появляется текст. Это как я понимаю из-за предзаполнения формы, из-за обращения к базе. Подскажите как мне правильно вставить запрос к базе чтобы не потерять функционал формы.
25.06.2012 SkyAn
Сорри, это сообщение относится ко второму примеру
Доброго времени суток. Вопрос в следующем: мне надо вставить форму для отправки с сайта себе на почту. Вставил ваш код - результат такой, как будто просто обновили страницу. Соответственно письмо не приходит. Что делать? В инете везде все по-разному и ничего не работает толком, а здесь, я смотрю, хоть подсказывают что-то людям:) Очень надеюсь на помощь:)
08.06.2012 Александр
Попробуйте третий пример
Если не заработает, тогда:
www.php-mail.ru/?gstid=1125
Здравствуйте. Подскажите, сохраняется ли где-нибудь на сервере информация о том с какого почтового адреса, на какой почтовый адрес и какое именно сообщение было отправлено, если сообщение отправлялось с помощью функции php_mail?
Проблемма с отправкой решилась. В конфигурации Apache в файле "./conf/extra/httpd-vhosts.conf" убрал строчку начинавшуюся с sendmail.
Спасибки! Долго мучилась с кодировками - кирилица не передавалась. Решение очень простое - вместо mail.ru использовать яндекс!
Здравствуйте!
Впринципе, Ваш пример понятен, как и многие другие. Но несмотря на то, что сам скрипт понятен и работает, не приходит на целевой почтовый ящик. Пробовал отправлять на несколько адресов, где нет спам-фильтров (один - мой собственный локальный мэйл-сервер hMailServer). В логах мэйл сервера ничего не присутствует по по поводу отправки писем с веб-страницы. Функция мэйл в пиэйчпи.ини включена с такими записями: SMTP = irc.pl-post (это такой почтовый сервер локальный у меня) и smtp_port = 700 (это такой порт у меня, через который в аутлук экспресс отправляются письма по локальной сети).
Также пробовал ковырять зонный файл DNS сервера и прописывать MX запись, но в итоге пользователь не мог зайти на свой почтовый ящик через SquirrelMail.
Как вообще работает функция mail? - нужен ей почтовый сервер, чтобы подружиться с ним и отправлять через него, или нет. И если нужен, то где его указывать - в каком файле и в каком месте? А если же он ей не нужен и сообщение как бы идет на другой сервер из ниоткуда, то почему тогда оно не работает?
Большое спасибо.
Проблему с кодировкой письма решил(не нужно было лепить лишнего).
Прошу помочь. Как в коде файла-обработчика формы создать в сообщении гиперссылку, чтобы при получении сообщения, можно было бы получателю перейти по гиперссылке на ресурс интернета. Можно по k---v@yandex.ru
30.03.2012 Александр
$mess = 'Ваш текст перед ссылкой <a href="ht_tp://www.php-mail.ru/">это наша ссылочка</a> и текст после ссылки';
// вот тут с кодировкой сами смотрите, utf-8 или windows-1251, для нас важно, что письмо будет поддерживать html код
mail($to, $title, $mess, 'From:'.$from. "\r\n" . "MIME-Version: 1.0\r\nContent-type: text/html; charset=utf-8");
31.03.2012 Виктор
Александр, спасибо, но проблема не решена. Этот способ был выбран в 1-ю очередь. Во вторую: <form action="h_p://moosi.ru">
<input type="submit" value="moosi.ru" />
</form>
Убедиться в нерешенной проблеме можно самому на moosi.ru
01.04.2012 Александр
Пишите код, который обрабатывает вашу форму
01.04.2012 Виктор
Часть кода представлена ниже.
<?php
$sub ="Рекомендация с сайта moosi.ru от посетителя";
$mes = "Привет ".$_REQUEST['name'].", это ".$_REQUEST['yourname'].". Сегодня в сети наткнулась на сайт - moosi.ru . Это то, что тебе нужно! Думаю тебе тоже стоит взглянуть!";
$verify = mail ($_REQUEST['email'],'=?utf-8?B?'.base64_encode($sub).'?=',$mes,'From: '.'=?utf-8?B?'.base64_encode("С сайта moosi.ru").'?='.' <ane@moosi.ru>'."\r\n".'Content-type:text/plain; charset = utf-8', '-fane@moosi.ru');
if ($verify= 'true')
{
?>
Форма на сайте - moosi.ru - "Рекомендовать сайт" Можно попробовать, отправив рекомендацию себе на почту.
01.04.2012 Александр
Внимательно еще разок:
У Вас: Content-type:text/plain;
У меня: Content-type: text/html;
Какой же ты молодец!!! Я всё перерыл ... ничего хорошо нет ... то платно, то всякие проги прописывать, устанавливать надо...а с помощью твоего генератора всё просто тип-топ...единственное, что хочу - немного форму изменить...у меня более сложная...Но всё равно тебе респект!!!
прописал
<?php
mail("admin@makeandraw.mcdir.ru", "My Subject", $_POST['contactform_txt6'],"Content-type: text/plain; charset=windows-1251\r\n\r\n");
?>
письмо пришло - но пустое =(
05.04.2012 Александр
напишите код формы
Подскажите, а как можно с помощью php прописать добавление кнопки для появления новых форм для текста пользователя? То есть, например, есть 1 поле(строка) для ввода данных пользователя, нужно добавить кнопку, нажав на которую, пользователю добавляется аналогичная строка (суть в том, что пользователь отправляет показания счетчиков воды, нужно, чтобы была возможность для ввода еще одного или более счетчиков). Заранее спасибо за ответ
20.03.2012 Александр
php - это серверный язык. Мы можем отправить данные, сервер их обработает и вернет нам. Но в этом случае каждое новое поле для ввода показаний будет добавляться только после перезагрузки страницы. Лучше используйте javascript и display:none;
Вариантов миллион, вот для примера:
<script language="JavaScript">
function cd(object) {
if (document.getElementById(object).style.display=='block')
document.getElementById(object).style.display='none';
else
document.getElementById(object).style.display='block';
}
</script>
<input type="button" value="+" OnClick="cd('trololoshechki')">
<span id="trololoshechki" style="display:none;"><input type="text" name="pokazaniya_2" size="4" value="0"></span>
Подскажите пожалуйста,на сайте в разделе контакты - форма отправки сообщения(Имя,емаил,телефон,и сам текст) в фале настроек форма ссылается на mail.php как не пытался не могу заставить работать....создавал такую схему
<?php
mail("joecool@example.com", "My Subject", "Line 1\nLine 2\nLine 3","Content-type: text/plain; charset=windows-1251\r\n\r\n");
?>
Письмо приходит на мой эмаил но без имени телефона и сообщения указанного в форме отправки, только одно:
Line 1
Line 2
Line 3
что мне сделать что бы завести!?
20.03.2012 Александр
Либо сюда пишите код формы, либо внимательно изучайте первый пример.
20.03.2012 Евгений
Все что я смог найти:
&contactform_txt1=Спасибо.Ваше сообщение было отправлено.
Если Вы хотите чем-то помочь проэкту, мы будем рады услышать Ваши предложения.&
&contactform_txt2=ОТПРАВИТЬ ЕЩЕ ПИСЬМО
&contactform_txt3=Полное Имя:
&contactform_txt4=E-Mail:
&contactform_txt5=Телефон:
&contactform_txt6=Сообщение:
// Mail File Config ///
&mail_file=mail.php&
в mail.php
<?php
mail("мой емаил", "My Subject", "Line 1\nLine 2\nLine 3","Content-type: text/plain; charset=windows-1251\r\n\r\n");
?>
20.03.2012 Александр
Гляньте, что придет, если прописать вот так:
<?php
mail("joecool@example.com", "My Subject", $_POST['contactform_txt6'],"Content-type: text/plain; charset=windows-1251\r\n\r\n");
?>
Не могу добиться того, чтобы без того чтобы один единственный нужный мне чекбокс был отмечен, письмо не отправлялось. Похоже что сгенерированный генератором код не может проверить чекбокс... Или я ошибаюсь
Подскажите,пожалуйста,не могу отправить письмо-пишет,что ошибка сокета 11001 код ошибки 0*800ССС0D/.
Привет всем! Помогите пож дубине.Начинаю отпрaвлят письмо на локальном сервире(денвер)а разробатываю сайт в программе (phpDesigner 7) и у меня в локальном письме отображается Имя: Максим
Электронная почта:gim333@yandex.ru
Тема сообщения:Заказ сайт
Сообщение:Хочу заказать сайт
и информация об отправки письма приходит ������ ������� ����������� Подскажите пож что делать?
11.03.2012 Александр
Кодировка. Посмотрите, пожалуйста, ответы ниже
11.03.2012 Максим
Спасите пожалуйста!!!Не могу никак найти ответ ниже(
12.03.2012 Александр
На странице с примером, который Вы использовали, нажмите Ctrl+F и в строке поиска вбейте 1251 или charset или utf.
Подскажите пож. как исправить этот скрипт
<?php
$recipients = "strangerarh@mail.ru" . ",";
$subject = "Посетитель сайта архремонт";
$sendKey = $_POST['key'];
if($sendKey == "email") {
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$date = date("F j, Y", time());
$email_info .= "Контактные данные и сообщение.\n\n";
$email_info .= "Информация о посетителе:\n";
$email_info .= "-----------------------------------------\n";
$email_info .= "Имя: " . $name . "\n";
$email_info .= "Email: " . $email . "\n";
$email_info .= "Дата сообщения: " . $date . "\n\n";
$email_info .= "Сообщение\n";
$email_info .= "-----------------------------------------\n";
$email_info .= "" . $message . "\n";
$mailheaders = "From: strangerarh@mail.ru <> \n";
$mailheaders .= "Reply-To: " . $email . "\n\n";
if(mail($recipients, $subject, $email_info, $mailheaders)) {
print "&success=true";
}
}
?>
что бы письма приходили на кирилице вместо этого
Посетитель сайта архремонтОт кого: strangerarh@mail.ru <>
Кому: strangerarh@mail.ru,
Сегодня, 20:22
Контактные данные и сообщение.
Информация о посетителе:
-----------------------------------------
Имя: иьдопьамь Рј
Email: lkhjkuv@mail.ru
Дата сообщения: March 10, 2012
Сообщение
-----------------------------------------
ущшптул чдлапушщкп
11.03.2012 Александр
Чуть ниже есть ответ:
$mailheaders .="Content-type: text/plain; charset="windows-1251""; //для кириллического текста
$mailheaders .="Content-type: text/html; charset="windows-1251""; //для кириллического текста в html
Помогите разобраться пожалуйста.
отправляю письмо и вкладываю туда картинку, на gmail приходит все норм, картинка отображается, на mail.ru, ukr.net и т.д. приходит я так понял байты картинки.
глянь тут: ihs.com.ua/articles/php/iyerohlify-na-pochti-pry-vykonanni-php-funktsiyi-mail.html
<br>мне помогло решить проблему с кодировкой сразу же.
Здравствуйте всем.
Помогите мне пожалуйста. Для отправки почты с сайта пользуюсь таким скриптом:
<?php
function complete_mail() {
$_POST['title'] = substr(htmlspecialchars(trim($_POST['title'])), 0, 1000);
$_POST['name'] = substr(htmlspecialchars(trim($_POST['name'])), 0, 1000);
$_POST['email'] = substr(htmlspecialchars(trim($_POST['email'])), 0, 1000);
$_POST['tel'] = substr(htmlspecialchars(trim($_POST['tel'])), 0, 1000);
$_POST['as'] = substr(htmlspecialchars(trim($_POST['as'])), 0, 1000);
$_POST['mess'] = substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000);
$mess = '
Имя:'.$_POST['name'].'
Контактный email:'.$_POST['email'].'
Телефон:'.$_POST['tel'].'
Как:'.$_POST['as'].'
Сообщение:'.$_POST['mess'];
$to = 'test@test.ru';
$from='SITE';
mail($to, $_POST['title'], $mess, "From:".$from);
echo 'Спасибо! Ваше письмо отправлено.';
}
if (!empty($_POST['submit'])) complete_mail();
?>
Письма на почту приходят, но поле "Сообщение" приходит пустым, хоть его и заполняют. Выглядит так:
Имя:Я
Контактный email:vvv@li.ru
Телефон:5555555
Как:узнали
Сообщение:
Помогите разобраться. В чем ошибка?
Спасибо.
При получении тестового сообщения через Denwer с локального ПК на емайл, указанного в обработчике не приходят переменные $name, $email, $message.
Выходит пустое сообщение. В чем ошибка?
<?php
if (isset($_POST['$name'])) {$name = $_POST['$name'];}
if (isset($_POST['$email'])) {$email = $_POST['$email'];}
if (isset($_POST['$message'])) {$message = $_POST['$message'];}
$address = 'ppp@ppp.ppp';
$sub = "Тест";
$mes = "Автор назвался: $name \nУказал свой адрес: $email \nСодержание письма: $message";
$verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset = windows-1251\r\nFrom:$email");
if ($verify == 'true')
{
echo "<p>Сообщение отправлено";
}
else
{
echo "<p>Сообщение не отправлено";
}
?>
10.02.2012 Александр
$_POST['$name'] поменяйте на $_POST['name']
$_POST['$email'] на $_POST['email']
$_POST['$message'] на $_POST['message']
(доллар лишний).
Ннннн-да кривая ваша форма, я хотел написать:
$header="Content-type: text/plain; charset="windows-1251""; для кириллического текста
$header="Content-type: text/html; charset="windows-1251""; для кириллического текста в html
mail($to, $title, $mess, $header);
Луче так:
$header="Content-type: text/plain; charset="windows-1251""; для кириллического текста
$header="Content-type: text/html; charset="windows-1251""; для кириллического текста в html
mail($to, $title, $mess, $header);
Доброго времени суток Вам.
Хотел спросит...у меня вот какой вопрос...как можно реализовать на пхп функцию отправки сообщения в определенное время...и время это определяет пользователь. что то типа напоминалки!!заранее спасибо за ответ.
16.01.2012 Александр
Можно дать возможность пользователю выбирать время из предложенных вариантов, например каждый час в течение суток. Ну а дальше настроить крон, который запускал бы ежечасно скрипт, который смотрел задания на этот час и отсылал бы нужным пользователям письма.
А как вместо темы поставить e mail что бы туда писали email, и все сообщения шли на почту?
Блин , у меня с этими кодами - уже голова кругом
Вот руссифицировать сайт- это могу , а вот форму обратной связи.....- это пипец!
Привет! Подскажите, в чем может быть проблема? Скопировал скрипт в точности как есть. Отображается сррбщение об успешной отправке, но на почту не приходит. Может нужно какие настройки на почте?
<br>Спасибо!
Всё получается, но если только отправлять сообщение латиницей. Если кириллицей - приходит пустое письмо. Как настроить кодировки? На сервере utf-8
17.10.2011 Александр
кодировка utf-8
mail($to, $title, $mess, 'From:'.$from. "\r\n" . "MIME-Version: 1.0\r\nContent-type: text/html; charset=utf-8");
17.10.2011 Polo
Спасибо, 17.10.2011 Александр кодировка utf-8
mail($to, $title, $mess, 'From:'.$from. "\r\n" . "MIME-Version: 1.0\r\nContent-type: text/html; charset=utf-8");
Но это не помогло ! всё по прежнему : латиница приходит, а кириллица нет
17.10.2011 Александр
Не знаю чем помочь.
Попробуйте третий пример.
21.11.2011 Олег
В PHP скрипт вставьте такую строку
header ("Charset: utf-8");
// $from - от кого - в этой строке что должно быть прописано? ведь сообщения отправляют с разных адресов
Спасите, как можно обойти эту проблему?
Нужно простейшее окно для отправки сообщения с сайта, никаких наворотов, просто имя, обратный адрес и текст сообщения.....
The requested method POST is not allowed for the URL /send.php.
Подскажите, пжл, не удается реализовать метод POST, проблема в мозгах или сервер не дает? Сайт создается на narode, форма есть, после нажатия кнопки отправить выдавется сия ошибка.
Help!!!!
27.09.2011 Александр
сервер не дает, на народе не получится.
Я вроде не тормоз, но почта не приходит.
Пишет, что ваше сообщение отправлено, а его нету.
Я так понимаю тут просто своё мыло указать и всё???
Проблема!!!
Что только не делал, все равно в строке ОТ КОГО пишется адрес не тот который я хочу а адрес хостера. Что сделать? вот код:
$email = mysql_result($result_status,0,"filed_4");
$password = mysql_result($result_status,0,"filed_6");
$headers = "From: support@indsystem.ru". "\r\n" . "MIME-Version: 1.0\r\nContent-type: text/html; charset=windows-1251";
$subject = "Востановление пароля в системе inDsystem v".$version;
$mes = "Здравствуйте!<br /><br />
Вы воспользовались функцией востановления пароля в системе <a href=\"".$domen."/indsystem/\"><strong>inDsystem v".$version."</strong></a>. <br /><br />
Ваши данные для доступа в систему:<br />
----------------------------------------<br /><br />
Имя пользователя: <strong>".$HTTP_POST_VARS["user"]."</strong><br />
Пароль: <strong>".$password."</strong><br /><br />
----------------------------------------<br /><br />
С уважением,
служба технической потдержки <a href=\"www.indsystem.ru\">inDsystem v".$version."</a>";
mail($email, $subject, $mes, $headers);
13.06.2011 Александр
Ваш пример не доставит письмо на половину ящиков.
Вам бы стоило перелопатить под себя третий пример, да еще и используя SMTP аутентификацию
Заодно может и проблема с отправителем решится.
15.11.2011 Николай
Вот так надо чтобы писмо приходило не от хостера
$headers2 = "From: $email \r\n";
$send = mail ($to, $subject, $message,$headers2);
Приходит письмо от имени
<br>хххххх@test.host.ru от имени Администрация XXXX.RU [admin@xxxx.ru]
<br>Как избавиться от хххххх@test.host.ru
Помогите! Локальный сервер Apache 2.2, Установила Sendmail. В sendmail.ini указала следующие настройки:
smtp_server=smtp.mail.ru
smtp_port=25
default_domain=mail.ru
auth_username= мой ящик
auth_password=тут пароль
force_sender=мой ящик
hostname=mail.ru
Пробовала разные PHP скрипты отправки. но ни один не работает. Вышеприведенный скрипт, тоже говорит, что письмо отправлено, а в ящике его нет!И в error.log ошибок нет! Чего-то у меня неправильно настроено? ПОМОГИТЕ!!!
У меня же после отправки письма открывается страница с текстом: "Задайте поисковую строку".
Соответственно письмо не отправляется.
не могу отправить почту, сообщения не приходят.
заменил $to на свой ящик. Пробовал как с локалки у меня обычный денвер стоит так и с сервера ни каких ошибок не выдает письмо не приходит.
Вот доработаное на сервере
www.listhotel.byethost24.com/index.php
Теперь приходит такое письмо:
1.0
Content-type: text/html; charset=utf-8
fdgsdgdsffgsd
тип: Сайт визитка
wm: WMR
Ещё одна проблема( Я немного переделал скрипт и теперь письмо вообще не приходит
Вот сам скрипт переделаный:
<?php
// если была нажата кнопка "Отправить"
if($_POST['submit']) {
// $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние
пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML
сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались,
ну и substr($_POST['title'], 0, 1000) - урезаем текст до 1000 символов. Для переменной
$_POST['mess'] все аналогично
$title = substr(htmlspecialchars(trim($_POST['title'])), 0, 1000);
$mess = substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000);
$tip = substr(htmlspecialchars(trim($_POST['tip'])), 0, 1000);
$wm = substr(htmlspecialchars(trim($_POST['wm'])), 0, 1000);
// $to - кому отправляем
$to = 'shaddai@ukr.net';
// $from - от кого
$from='test@test.ru';
// функция, которая отправляет наше письмо.
mail($to, $title, $tip, $wm ,$mess, 'From:'.$from. "\r\n" . "MIME-Version:
1.0\r\nContent-type: text/html; charset=utf-8");
echo 'Спасибо! Ваша заявка принята!';
}
?>
25.03.2011 Александр
mail($to, $title, $mess."\n"."тип: ".$tip."\n"."wm: ".$wm, 'From:'.$from. "\r\n" . "MIME-Version:
1.0\r\nContent-type: text/html; charset=utf-8");
Есть проблема! После отправки приходит письмо, но русские буквы отображаются неправильно(
Вот так: Проверка
(это слово проверка)
Что делать?
25.03.2011 Александр
кодировка utf-8
mail($to, $title, $mess, 'From:'.$from. "\r\n" . "MIME-Version: 1.0\r\nContent-type: text/html; charset=utf-8");
Скажите, а как сделать обычную форму для отзывов о материалах сайта? Чтобы сообщения отображались на этой же странице, ну точно такую, как эта форма для комментариев.
19.03.2011 Александр
как вариант:
poiu.ru/lessons/index.php-7.htm
Подскажите пожалуйста что делаю не так, может пробелы гдето нужно убрать? Создал с помощю блокнота документ, переименовал и поменял разшырение на: mail.php, вставил ниже приведеный код но всеравно не работает...
<?php
// если была нажата кнопка "Отправить"
if($_POST['submit']) {
// $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались, ну и substr($_POST['title'], 0, 1000) - урезаем текст до 1000 символов. Для переменной $_POST['mess'] все аналогично
$title = substr(htmlspecialchars(trim($_POST['title'])), 0, 1000);
$mess = substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000);
// $to - кому отправляем
$to = 'ua1123@yandex.ru';
// $from - от кого
$from='test@test.ru';
// функция, которая отправляет наше письмо.
mail($to, $title, $mess, 'From:'.$from);
echo 'Спасибо! Ваше письмо отправлено.';
}
?>
<form action="mail.php" method=post>
<p>Вводный текст перед формой <p>
<div align="center">
Teма<br />
<input type="text" name="title" size="40"><br />
Сообщение<br />
<textarea name="mess" rows="10" cols="40"></textarea>
<br />
<input type="submit" value="Отправить" name="submit"></div>
</form>
21.04.2011 I.CaR®
Угу, нужно убрать пробелы... в голове... пробелы в web-кодинге и орфографии.
вот только адреса мне нужно брать из БД
как реализовать?
26.02.2011 Павел
Мне нужно тоже самое сделать!что бы отсылать сообщение на несколько адресов,которые будут выбраны из базы данных по запросу.Подскажите пожалуйста!
26.02.2011 Александр
Ну, структуру Вашей БД мне не увидеть... Ковыряйте в эту сторону:
mail($to, $title, $mess, 'From:'.$from);
замените на
$result = mysql_query("SELECT email FROM table_emails;");
while($row = mysql_fetch_array($result)){
mail($row['email'], $title, $mess, 'From:'.$from);
}
Необходимо сделать так чтобы была возможность выбора получателя.Скажем имеется список получателей выпадающим списком, выбирая того или иного пользователя письмо уходит выбранному получателю
здравствуйте
помогите плиз, всяко пытался сделать но не получается в вашем примере вместо кнопки submit сделать картинку (то есть что бы при нажати на картинку происходила отправка формы)
а одним махом можно более 100 человек отправит письмо? очень нужно
Помогите, пожалуйста!!! Мой почтовый ящик зарегистрирован на mail.ru. Недавно у меня возникли 2 проблемы:
1). Никак не могу прикрепить файл к электронному письму. Появляется сообщение об ошибке, хотя есть большой список настроек и все они включены. Совсем недавно всё было нормально, проблем с прикреплением файлов не было.
2). Не получается сменить пароль к электронному ящику. Пыталась много раз, всегда вылезает сообщение о том, что новый пароль повторно введён неправильно, хотя я очень внимательно проверяю каждый символ.
Надеюсь на Вашу помощь.
привет. воспользовался генератором вашим
<br>но почему-то у меня не выводистя картина с цифрами
<br>в свойствах смотрю
<br>размеры 0 x 0 пикселей
<br>адрес /сайт/captcha.php
да поставил я свое мыло....... нифига не работает ?((( а в локале это должно работать?
24.02.2011 Алексей
В локале работает только на локальный mail сервер.
Например FileZila вполне подходить для отлаживания функции отправки писем
24.02.2011 Алексей
Сорри опечатался так опечатался
FileZila это фтп встроенный во многие готовый серверы.
Для отправки и получении писем нужен Mercury как вариант.
добавил action="mail.php" теперь открывается страница mail.php... что я делаю не так??? или я совсем чтото не понимаю..... объясните пожалуйста....
12.01.2011 Роман
В поле
// $to - кому отправляем
$to = 'test@test.ru';
Указать своё мыло и все
а в форме как ссылку на mail.php сделать? или я что не допонимаю????
12.01.2011 Александр
Весь этот код в один файл. В нем будет и форма и код отправки. Если хотите делать отдельно, то прописываете форму где Вам удобнее, а в форме action="mail.php"
прошу прощения, но я "чайник" :) вопрос: все выше напичанное вставляется в один документ HTML? просьба разъясните по подробнее.... если не сложно
11.01.2011 Александр
в один документ php.
Создайте файл mail.php и туда разместите этот код.
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in D:\Server\as_arsenchik\minivk\email.php on line 12
Спасибо! Ваше письмо отправлено.
Не приходит!
24.02.2011 Алексей
Дословно ошибка в подключении к маил серверу.
Значит у вас нет маил сервера. установите если на локальном у вас сайт.
Блин у меня что-то не выходит. Приходит пустое письмо. Вот код:
<?php
// если была нажата кнопка "Отправить"
if($_POST['submit']) {
// $_POST['title'] содержит данные из поля "Тема"
$title = 'Новая заявка на бронь!';
$mess = substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000);
// $to - кому отправляем
$to = '--------------';
// $from - от кого
$from='--------------';
// функция, которая отправляет наше письмо.
mail($to, $title, $client_NN, $mess, 'From:'.$from, clientmail_NN, phone, DayIn_NN, MonthIn_NN, DayOut_NN, MonthOut_NN, people, child, transfer, additional);
echo '<div id="text1" style="position:absolute; overflow:hidden; left:480px; top:319px; width:485px; height:167px; z-index:0">
<div class="wpmd">
<div align=center><font class="ws14" color="#003DF0"><B>Спасибо! Ваш запрос отправлен!</B></font></div>
</div>
</div>';
}
?>
Форма сама:
<form action="--------.php" method=post>
<div align="center">
Фамилия Имя Отчество:<br />
<input class="normaltext" type="text" name="client_NN" style="width:300px" />
<br /> <br />
Ваш контактный e-mail адрес:<br />
<tr><input class="normaltext" type="text" name="clientmail_NN" style="width:300px" /></tr>
<br /> <br />
Номер мобильного телефона:
<tr><input class="normaltext" type="text" name="phone" style="width:300px" /></tr>
<br /> <br />
Дата заезда:
<select class="normaltext" name="DayIn_NN">
<option></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select class="normaltext" name="MonthIn_NN">
<option></option>
<option value="января">января</option>
<option value="февраля">февраля</option>
<option value="марта">марта</option>
<option value="апреля">апреля</option>
<option value="мая">мая</option>
<option value="июня">июня</option>
<option value="июля">июля</option>
<option value="августа">августа</option>
<option value="сентября">сентября</option>
<option value="октября">октября</option>
<option value="ноября">ноября</option>
<option value="декабря">декабря</option>
</select>
<br /> <br />
Дата выезда:
<select class="normaltext" name="DayOut_NN">
<option></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select class="normaltext" name="MonthOut_NN">
<option></option>
<option value="января">января</option>
<option value="февраля">февраля</option>
<option value="марта">марта</option>
<option value="апреля">апреля</option>
<option value="мая">мая</option>
<option value="июня">июня</option>
<option value="июля">июля</option>
<option value="августа">августа</option>
<option value="сентября">сентября</option>
<option value="октября">октября</option>
<option value="ноября">ноября</option>
<option value="декабря">декабря</option>
</select>
<br /> <br />
Взрослых:
<select class="normaltext" name="people" style="width:40">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="больше 5">более</option>
</select>
Детей:
<select class="normaltext" name="child" style="width:40">
<option value"="нет">Нет</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="больше 5">более</option>
</select>
<br /> <br />
Необходимость трансфера:<br>
<select class="normaltext" name="transfer" style="width:40">
<option value"="нет">Нет</option>
<option value="1">От ж/д вокзала</option>
<option value="2">От автовокзала</option>
<option value="3">От катера (на северной стороне)</option>
</select>
<br /> <br />
Дополнительная информация: <br />
<textarea name="additional" class="normaltext" rows="7" style="width:300px"></textarea>
<br /> <br />
<input type="submit" value="Отправить заявку" name="submit"></div>
</form>
06.01.2011 Александр
В Вашей форме есть поля для ввода данных. Каждое из них имеет имя. Например первое client_NN. Смотрите по атрибуту "name".
Перед отправкой Вам нужно обработать все эти элементы формы. Значение первого client_NN будет содержать переменная $_POST['client_NN']
Таким образом, в Вашей форме я бы написал наверху:
$mess =
'ФИО: '.substr(htmlspecialchars(trim($_POST['client_NN'])), 0, 255).'
Телефон: '.substr(htmlspecialchars(trim($_POST['phone'])), 0, 100).'
--------тут бы описал все остальные поля таким же образом-----
Дополнительная информация: '.substr(htmlspecialchars(trim($_POST['additional'])), 0, 100000);
Гавно ваш скрипт. Ни этот, ни похожие не будут работать. Взять к примеру mail.ru, ukr.net - там же настроена защита от спама. Письмо отправится вашим методом, но никогда не придет.
28.01.2011 super
Если у вас кривые руки, или чан не варит.. не надо говорить ерунды ))
уже несколько дней я не могу прикрепить файлы, да и письма не пишуться. что это?
Скажите что нужно для того что бы работала функция mail() в php? Хочу отправлять письма от своего имени (genka@server.ru).
При обновлении страницы с текстом он сам отправляет письмо, когда кнопки еще не нажимали. Так что скрипт можно считать немного не доработанным.
24.02.2011 Алексей
Если у вас есть руки вы бы с легкостью избавились от этой не доработки, а так это пустой треп, учитывая что вам тут показывают лишь то как работает функция mail в php.
Погуглите и все найдете. А раз рук нет, сомневаюсь что вы способно что то сделать удобное и нужное, что выйдет за рамки вашего локального сервера
13.02.2012 Роман
Алексей, ты не прав. Если ты знаешь php - флаг тебе в руки. Сиди и радуйся. А вопрос - вполне резонный. Я столкнулся с той же проблемой. Php не знаю. Нужна была просто готовая форма отправки сообщений. И она - не доработана
работает отлично, с кодировкой проблемы быстро и понятно решаемы, спасибо. хотелось бы только, чтобы была возможность отправки списку адресатов (например, через запятую), некоторым упростило бы жизнь..
где поменять кодировку текста с windows-1251 на UTF-8
01.12.2010 maks
в четвертом параметре ф-ции mail Параметр должен выглядеть так: "Content-Type: text/html; charset=utf-8\n\r"
Добрый день. Появилась проблема - письмо отсылается нормально, тема и большая часть тела письма в нормальной кодировке. Но текст примерно такой получается:
"и относящимся к парусным яхÑ �ам как спорту. "
Т.е. имеют место непонятные артефакты. И появляются они на разных буквах в любом мало мальски большом тексте. В чем проблема может быть?
Большое спасибо за этот скриптик!!!
<br>Классно работает, разобрался легко!!!
<br>Один из 100 проверенных у меня заработал!!! Спасибо!!!
а чтобы проверить работу скрипта необязательно чтоб сайт был уже размещен?
...как можно проверить ее работу?
помогите пожалуйста разобраться.
пытаюсь из пхп-скрипта отправить. сендмаил настроен. отправляю следующим скриптом:
www.internet-technologies.ru/articles/article_1361.html
сама пхп-страница в кодировке uft-8 (без BOM). ну и текст, который передаю(кириллические символы) соответственно тоже. в скрипте в нужных местах. в результате кодирую из uft-8 в koi8-r. принимаю аутлуком и наблюдаю кракозябры в тексте писма и в теме. адрес отправителя(или текст, который можно вместо него поставить) передается как и задумано русскими буквами.
отчего так происходит? ведь перекодирую все одними и теми же функциями... пробовал так же кодировать из utf-8 в windows-1251 и в другие кодировки. нужного результата так и не добился.
так же пробовал вот таким скриптом отправить письмо:
$subj = "Заявка на дополнительное тестирование линии";
$subject = '=?koi8-r?B?'.base64_encode($subj).'?=';
$headers = "MIME-Version: 1.0\r\nContent-type: text/html; charset=koi8-r\r\n";
$headers .= 'From: =?Windows-1251?B?'.base64_encode('Форма за').'?= ' . "\r\n";
$body='=?koi8-r?B?'.base64_encode(convert_cyr_string($subject_send, "w","k")).'?=';
mail('sn@t.ru',$subject,$body, $headers);
здесь дело получше обстоит. русскими буквами отображаются тема и адрес отправителя. текст письма опять кракозябрами.
подскажите где искать правильное решение - чтобы получить письмо с русским текстом полностью.
ваш скрипт тоже не помог
10.09.2010 Александр
1) Может генератором сделать? Он вроде с кодировками проблем не знает.
2) В Вашем примере
Тема письма $subject - приходит в нужной кодировке. Может от этого и ковырять, значит $body наверное надо делать также, т.е.
$body='=?koi8-r?B?'.base64_encode($subject_send).'?=';
Либо как адрес отправителя:
$body='=?Windows-1251?B?'.base64_encode($subject_send).'?= ';
10.09.2010 ret
первый раз слышу про генератор. можно узнать что это такое?
10.09.2010 Александр
Наверху в меню ссылка
www.php-mail.ru/?id=6
10.09.2010 ret
отсылаю письмо с помощью генератора. происходит то же самое: русскими буквами в полученном письме написано только от кого пришло. в поле тема - =?windows-1251?B?Zmdk9Pvg9Pvg9Pvg?=. сам текст письма из кракозябр. после получения пытаюсь в аутлуке в ручную каодировку сменить - ни одна не подходит.
есть подозрение, что потчовы сервер так настроен, что изменяет кодировку при получении. может подобное быть?..
10.09.2010 Александр
Честно не знаю, что там с сервером или со скриптами. Я бы начал танцы с бубнами вокруг кодировки. Если бы ни одна не подошла, писал бы в тех. поддержку хостинга
После
$mail->IsHTML(true);
Добавьте строчку
$mail->$CharSet = 'windows-1251'; // попробуйте тут разные кодировки
17.09.2010 Сергей
По правде говоря Вы мне помогли, я нашел ошибку над которой бился более 7 часов, может и я Вам помогу)))
Ошибка у Вас в следующей строчке:
$body='=?koi8-r?B?'.base64_encode(convert_cyr_string($subject_send, "w","k")).'?=';
Вот работающий пример, который я использовал на своем сайте:
www.web-eurohost.com/kontacts.php
$address = 'admin@web-eurohost.com';
$sub = "Сообщение с главного сайта проекта";
$sub = "=?utf-8?b?" . base64_encode($sub) . "?=";
$headers = "MIME-Version: 1.0 \r\nContent-type: text/plain; charset=utf-8 \r\n";
$headers .= "From: <$email>\r\n";
$mes = "Отправил:".$name."\r\nУказал обратный адрес: ".$email."\r\nСодержание письма: \r\n".$message;
$verify = mail ($address,$sub,$mes,$headers);
Думаю этот фрагмент Вам поможет!
Если же Вы хотите отправить в другой кодировке, не в utf-8, то предварительно все данные нужно перекодировать в эту кодировку, а потом уже создавать переменные для mail.
Как перекодировать скажем из utf-8 в Windows-1251 переменную $subj, она ведь у Вас в utf-8 как и другие данные:
$subj= iconv("UTF-8","Windows-1251",$subj);
Желаю удачи!
06.08.2011 svetlii7f
to " 17.09.2010 Сергей "
да, Вы превосходны. Когда всё работает на ютф, помойму, помимо этого ничто не заставит отображаться кириллицу нормально.
Весьма признателен.
пожалуйста очень нужна помощь - комментарий записывается, а сообщение о нём на почтовый ящик не приходит. Спасибо!!!
<?
// считываем файл comments.txt и превращаем его в массив
$comments=unserialize(file_get_contents('test_comments.txt'));
// если файл битый или не существует, обнуляем массив
if(gettype($comments)!='array')$comments=array();
// если нажали "добавить коммент"
if($_POST['submit']=='1'){
// проверка формы на заполненность
if($_POST['name']==''||$_POST['tema']==''||$_POST['text']=='')
echo '<div style="COLOR: #ff0000; border: 1px solid red; padding: 10px; margin: 10px 0;">Пожалуйста, заполните форму.</div>';
else{
// добавляем к массиву новую запись
$comments[]=array(
'date'=>base64_encode(date("d.m.Y - H:i")),
'name'=>base64_encode($_POST['name']),
'tema'=>base64_encode($_POST['tema']),
'comment'=>base64_encode($_POST['text'])
);
// base64_encode - функция, которая превращает строку в однородную символьную строку,
// удобную для хранения и передачи
// открываем файл для записи и записываем
$desc=@fopen('test_comments.txt','wt');
@fwrite($desc,serialize($comments));
@fclose($desc);
$_POST=array();
}
}
?>
<form action="comments.php" method="post" style="background: #d3e7ff; padding: 5px;">
<table width="100%" border="0" cellspacing="3" cellpadding="0" bgcolor="#93B0D2">
<input type=hidden name=session_id value='<?= session_id();?>'>
<tr>
<td width="120" class="commentar">Ваше имя:</td>
<td><input type="text/" name="name" value="<?=htmlspecialchars($_POST['name'])?>"/></td>
</tr>
<tr>
<td class="commentar">Тема:</td>
<td><input type="text/" name="tema" value="<?=htmlspecialchars($_POST['tema'])?>"/></td>
</tr>
<tr>
<td colspan="2" class="commentar">Комментарий:</td>
</tr>
<tr>
<td colspan="2"><textarea cols="120" rows="10" name="text"><?=htmlspecialchars($_POST['text'])?>
</textarea></td>
</tr>
<tr>
<td><button type="submit" name="submit" value="1" class="com_button">Добавить</button></td>
<td><input type="reset" name="Reset" value="Убрать" class="com_button" /></td>
</tr>
</form>
</td>
</tr>
<tr>
<td colspan="2" class="commentar">Благодарим Вас за высказанное мнение!</td>
</tr>
</table>
<h2>Ваши комментарии:</h2>
<?
// вывод комментариев
foreach($comments as $v)
{
$v['date']=base64_decode($v['date']);
$v['name']=base64_decode($v['name']);
$v['tema']=base64_decode($v['tema']);
$v['comment']=base64_decode($v['comment']);
echo '
<div id="commentar">
<b><font color=#6f8bae>Дата:</font> '.htmlspecialchars($v['date']).' <font color=#6f8bae> / Имя:</font> '.htmlspecialchars($v['name']).' <font color=#6f8bae> /
Тема:</font> '.htmlspecialchars($v['tema']).'</b><br/>
<blockquote><font color=#6f8bae>Комментарий: </font>'.nl2br(htmlspecialchars($v['comment'])).'</blockquote>
</div>';
}
// если была нажата кнопка "Отправить"
if($_POST['submit']) {
$date = substr(htmlspecialchars(trim($_POST['date'])), 0, 100);
$tema = substr(htmlspecialchars(trim($_POST['tema'])), 0, 100);
// $to - кому отправляем
$to = '111@111.ru';
// $from - от кого
$from='comments_test_1';
// функция, которая отправляет наше письмо.
mail($to, $date, "\r\n".$tema, 'From:'.$from. "\r\n" . "MIME-Version: 1.0\r\nContent-type: text/html; charset=utf-8");
echo 'comments_test_1';
}
?>
Подскажите пожалуйста есть форма отправки письма на php писма приходят но непонятно что одни ероглифы перепробывал все неполучается подскажите пожалуйста что сделать чтобы письма приходили на русском языке спасибо ниже сам код:
<?php
# Send to your email address
$sendTo = "11111111@mail.ru";
# Subject line
$subject = "Information Request";
# Send from address
$sendFrom = "FROM: 11111111@mail.ru";
# Body
$body = "A user has left the following information \n \n Name: " . stripslashes($_POST["yourName_txt"]) . " \n Phone #: " . stripslashes($_POST["phone_txt"]) . "\n Email Address: " . stripslashes($_POST["email_txt"]) . "\n Comments: " . stripslashes($_POST["comments_txt"]);
# Send mail
mail($sendTo, $subject, $body, $sendFrom);
?>
08.09.2010 Александр
$sendFrom = "FROM: 11111111@mail.ru". "\r\n" . "MIME-Version: 1.0\r\nContent-type: text/html; charset=windows-1251";
Прошу прощения у всех, и в первую очередь у хозяина этого сайта за моё предыдущее "вредоносное" сообщение... Вы можете с легкостью удалить его... Но пожалуйста подскажите, как защитить себя от подобной бяки: если кто-то намерено зафигачит комментарий на 1000 символов без единого пробела, страничка же сразу обезобразится
03.09.2010 Александр
wordwrap($body, 50)
03.09.2010 Вредитель
Спасибо большое!
wordwrap ($body, 50, "\n", 1)
очень помогло
Не отправляет он ничего!!! Я уже что только не пробывал
Не отправляет он ничего!!! Я уже что только не пробывал
По крайней мере через localhost с интернетом( apache настроен как положенно)
В ЭТОМ ПРИМЕРЕТ НУЖНО ДВА файла PHP,В ОДНОМ ИЗ КОТОРЫХ ДОЛЖЕН ЛЕЖАТЬ СКРИПТ?
08.09.2010 Александр
Весь код выше в один файл
Класс. А то кругом вечно нерабочие скрипты выкладывают. А этот скриптик работает идеально, как часы. Душа моя не нарадуется
Скажите пожалуйста как сделать чтобы отчет об отправке выходил внизу, а не вверху. И ещё одна проблема - на почту не приходят данные отправителя!
Автору жирніший ++++++++!
все вийшло,дякую!!!!!!!!!!!!!!!!!!!!!!
пробуйте четвёртый параметр убрать('From:'.$from) у кого не приходит. у меня с ним тоже не отправляется.
Тоже ничего не приходит. Не знаю как настроить PHP Подскажите плиз: локально стоит hMailServer с которого отлично доходят письма, но с The Bat! а с сайта ничего не уходит. Как прописать?
<br>Благодарю!
Скопировал себе - отправил на мыло. никакого письма нет. Скажите на все почтовые сервера отправляется?
Почему же нет возможности отблагодарить Вас за такую замечательную работу? Какой-нибудь кнопочки "donate"?
Тогда, просто скажу ещё раз ОГРОМНОЕ СПАСИБО!=)
Загрузил этот код себе на сайт, после нажатия "отправить" открывается страница ошибки (((
06.06.2010 Zzayo.vlad
Загрузил этот код себе на сайт, после нажатия "отправить" открывается страница ошибки (((
на бесплатных хостингах такой способ отправки почты часто заблокирован сервером. Попробуйте использовать метод сокетов или перейти на другой хостинг
Всем добрый!
<br>Вижу вопрос задавали, но ответа на него так и не последовало. В чем может быть причина: после нажатия на кноаку отправить выскакивает следующее сообщение \"Mailer Error: Language string failed to load: instantiate\" и ничего не отправляется :(
16.05.2010 Посмотрите тут
www.php-mail.ru/?gstid=679
Спасибо за форму,реализовал на своём сайте www.kupinakmv.ru
1.php - имеется форма с отправкой через POST -->2.php(обработчик)
<br>2.php проверка $_POST[]и т.д.,if на TRUE на проверку переменных, функция MAIL и т.д.
<br>А как сделать чтобы в обработчике
<br>можно было сделать доп кнопку \"отправить\" - чтобы она делала функцию MAIL. Чтобы пользователь перед отправкой в обработчике дополнительно мог перепроверить данные и после этого отправить заказ?
Я добавил поле email и сообщение вообще перестало отправляться, подскажите почему?
<?php
// если была нажата кнопка "Отправить"
if($_POST['submit']) {
// $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались, ну и substr($_POST['title'], 0, 1000) - урезаем текст до 1000 символов. Для переменной $_POST['mess'] все аналогично
$title = substr(htmlspecialchars(trim($_POST['title'])), 0, 1000);
$mess = substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000);
$email = substr(htmlspecialchars(trim($_POST['email'])), 0, 50);
// $to - кому отправляем
$to = 'erazer@bk.ru';
// $from - от кого
$from='test@test.ru';
// функция, которая отправляет наше письмо.
mail($to, $title, $email, $mess, 'From:'.$from. "\r\n" . "MIME-Version: 1.0\r\nContent-type: text/html; charset=KOI8R");
echo 'Спасибо! Ваше письмо отправлено.';
}
?>
<form action="" method=post>
<p>Вводный текст перед формой <p>
<div align="center">
Teма<br />
<input type="text" name="title" size="40"><br />
Сообщение<br />
<textarea name="mess" rows="1" cols="40"></textarea>
<br />
E-mail<br />
<textarea name="email" rows="1" cols="40"></textarea>
<br />
<input type="submit" value="Отправить" name="submit"></div>
</form>
mail($to, $title, $email, $mess, 'From:'.$from. "\r\n" . "MIME-Version: 1.0\r\nContent-type: text/html; charset=KOI8R");
замените на
mail($to, $title, $email."\r\n".$mess, 'From:'.$from. "\r\n" . "MIME-Version: 1.0\r\nContent-type: text/html; charset=KOI8R");
11.04.2010 Maks
Спасибо большое, помогло, все работает отлично)))
У меня сообщения не отправляются. Это не может быть связано с отсутствием mail сервера у меня на ПК? Или со спам фильтром gmail.com и mail.ru?? И если нужен серверок какой посоветуете на Убунте?
10.10.2013 24683333ZX@Mail.ru
У меня не отправляются сообщения. Ошибки не указывает. Что делать?
здравствуйте, при отправке формы выдает такую ошибку Mailer Error: Language string failed to load: instantiate
Подскажите, что это значит? Заранее большое спасибо!
установил localhost функцию mail() не узнает вроде должна быть хотя бы заглушка. Как отладить почту
PHP ver 5.2 Apache server 2.2 . помогите
Код помог! Среди ночи заработало, спать перехотел, взбодрился и радуюсь. Вам большей спасиб....
Да благословит вас Господь!!!
Подскажите, пожалуйста как сделать, чтоб полученное письмо выглядело как HTML страница, только не во вложенном файла, а в теле сообщения?
Подскажите почему не приходят данные на почту: Приходит шаблон,но только не заполнены данные из HTML:
<?php
$v = mail("pochta@mail.ru","Заказ с сайта","На сайте был сделан заказ. Заказ пришел от $fio пароль $pass имейл $email адрес
$address","Content-type:text/plain; charset = windows-1251\r\n");
if ($v == "true") {echo "Ваше сообщение успешно доставлено!";}
?>
<?php
$v = mail("pochta@mail.ru","Заказ с сайта","На сайте был сделан заказ. Заказ пришел от ".$_POST['fio']." пароль ".$_POST['pass']." имейл ".$_POST['email']." адрес
".$_POST['address'],"Content-type:text/plain; charset = windows-1251\r\n");
if ($v == "true") {echo "Ваше сообщение успешно доставлено!";}
?>
Вобщем не приходят письма.
<br>Я немного не понял, наверно, но нужен ли SMTP сервер, на машине, где работает этот скрипт?
06.02.2010 XAPOH-13@mail.ru
SMTP по-любому должен быть разрешен на хосте, иначе ч/з что он отправлять будет???
И еще, после отправки хочу чтоб так же НИЖЕ все писалось... (ударение на А)
Спасибо...
Отличный сайт!!!
Непонятно, что нужно писать здесь: $from=\'test@test.ru\';
<br>как я понимаю это ящик ч/з который будет отправляться письмо, так?
<br>И можно ли &to и &from сделать одиннаковыми?
У меня так был, когда я скрипт тестировал. Проблема решилась, когда я ввел "реальный" мэйл, а не абрукабру ;)
Присоединяюсь к вопросу о Return-Path. Вроде нашел на одном форуме как это прописать, сделал, однако mail() все равно возвращает false(((
И вот еще на сервере пишут - В параметрах функции mail() заполнение поля "Return-Path:" обязательно - может в этом причина, и как эти поля заполинить напишите пожалуйста.Заранее спасибо.
Ребята объясните чайнику что ни так. Скрипт вроде работает, приходит сообщение "Спасибо! Ваше письмо отправлено", но письмо не приходит...В коде ввел так:
// $to - кому отправляем
$to = 'romvadik@yandex.ru';
// $from - от кого
$from='romvadik@mail.ru';
я проверил.Мне на яндекс пришло.
Подумаю,может сделаю типа гостевой из этого кода с формой
Подскажите кто знает, а что это за ошибка:
"Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()
"
Как сделать так чтобы письмо на почту приходило с нормальной кодировкой.А не с какими-нибудь каракулями?
mail($to, $title, $mess, 'From:'.$from. "\r\n" . "MIME-Version: 1.0\r\nContent-type: text/html; charset=windows-1251");
28.02.2010 Сергей
конвертируем в koir, иначе будут проблемы с различными веб-почтовиками
<?php
// конвертируем в koir, иначе будут проблемы с различными веб-почтовиками
$message_send = convert_cyr_string($message_send, "w", "k");
$subject_send= '=?koi8-r?B?'.base64_encode(convert_cyr_string($subject_send, "w","k")).'?=';
$head = "Content-Type: text/plain;\r\n";
$head .= "X-Mailer: PHP/".phpversion()."\r\n";
$head .= "Reply-To: admin@microsoft.com\r\n";
$head .= "To: $name <$email>\r\n";
$head .= "From: admin@google.ru\r\n";
$head .= "Subject: $subject_send\n";
mail($email, $subject_send, $message_send, $head);
?>
Подробней тут www.comopt.ru/forum/index.php?showtopic=108
23.09.2010 Eduard
Спасибо Вам огромное за генератор, благодаря ему сделал прекрасный автоматический шаблон для Rejik, но есть одна проблема. Если после того как вылазит сообщение: Ваше письмо отправлено, нажать еще раз CTRL+R то письмо уйдет еще раз, по идее надо сделать какую-то очистку переменных или как бы это реализовать? буду благодарен за помощь.
привет! блин вроде все работает но письма нет на емайле вчем проблема ?
У меня та же проблема, что и у Светы - всё, вроде, работает, а почта не приходит... Может быть, это как-то связано с настройками почтового сервера?
Почему выдает сообщение
<br>Notice: Undefined index: submit in w:\\home\\localhost\\www\\feedback\\index.php on line 109 ?????
<br>
<br>При вводе имени и самого текста пишется письмо отправлено, но на мыло оно не приходит.
<br>Может я туплю в чём то, \"я не имею образования програмиста\"((((
Объясните, пожалуйста, неграмотному: куда вставлять этот код? Прямо в html-страницу? Или html-код в страницу, а php куда-то в другое место?
30.09.2009 Валерка
Артем php работает на севере
Никаких сообщений об ошибках,функция mail() возвращает единицу, а мыло не приходит. В чем может быть проблема?
Спасибо огромное!! очень помог ваш код , всё поставил , и всё работает!!!
А у меня проблема возникла скопировал всё заменил $to %form жму на кнопку сенд поевляется сообщение что всё ок но пачемуто нечего неотсылается на е-майл отпишитесь плиз
Самое странное что не пашет этот элементарный код, mail($to, $subject, $message, $from) приведенный во всех мануалах на моем UNIX сервере :( Все облазил. Перекодировка русских символов в ASII тоже не помогает. Хостинг чтоли менять?
Здравствуйте, ув. админ. Обработчик я поместил в папку cgi-bin своего сайта под именем ask.php. А в самой форме в строке form action= прописал такой путь\\\\&amp;quot;cgi-bin/ask.php\\\\&amp;quot;. Не работает, хостинг платный. Плиз, очень надо...
Добрый день, ув. админ.
<br>у меня есть несколько вопросов, могли бы Вы написать мне на мою личную почту, буду очень признателен.
<br>amplife@mail.ru
А как решить проблему с кодировкой...
абракадабра приходит и в теме письма и в теле.
16.03.2010 Андрей
www.ivanov-portal.ru/translit/abrak-v-rm.htm - решение, временное=))
почему выдает сообщение "Method Not Allowed
The requested method POST is not allowed for the URL /obrabotka.php"??????
обработчик построен так по самому легкому способу..
<?php
mail("h.i.m@mail.ru","пожелание с сайта","Имя $name фамилия $fio указал свой email - $email,\n
указал свои пожелания - $zte325.");
?>
08.06.2010 dima
Method Not Allowed не работает запрос php на yandex
I create new site and would like to work with you and like professional mail code
Что надо указывать($from - от кого $from='test@test.ru';) - подскажите кто знает? (nastjakudastja@bk.ru)
Подскажите, пожалуйста.
<br><br>&lt;br&gt;&amp;lt;br&amp;gt;У меня несколько десятков пользователей. Их адреса находятся в базе на хосте. Я сделал форму, в которой пишу сообщение адресованное всем пользователям, нажимаю на кнопку. В обработчике цикл for в теле, которого вставлена функциия mail, в которую из базы подставляются адреса пользователей. К сожалению, письмо отправляется только на первый адрес.
11.04.2010 webmonstro.ru
Точно такая же проблема, помогите кто знает
Все, я разобрался. Просто надо было у файла расширение сменить с html на php.
Этот скрипт, сохраненный как PHP-файл, работает прекрасно. Но я не могу самостоятельно разобраться, как заставить его работать, если основная страница написана на HTML? Я делаю тестовую html-страницу, туда вставляю скрипт - и тишина. На рабочей машине под дэнвером - ничего не происходит, когда выкладываю на сервер - тот выдает ошибку 500. Буду признателен за любой совет. Сайт, для которого делаю форму заказа - www.vimbo.ru Сама форма заказа должна находиться внутри всех этих \\\\&amp;quot;красивостей\\\\&amp;quot;, посередине рабочего поля.
Подскажите пожалуйста кто может как решить проблему(описана через раз ниже).
Здравствуйте. У меня такой код: $verify = mail ($address,$sub,$mes,\\&quot;Content-type:text/plain; charset = windows-1251\\\\r\\\\nFrom:polmanag@ukr.net\\&quot;);
<br><br> В итоге на gmail.com всегда приходит, а на ukr.net через раз, на майл.ру вообще не приходит.
У меня проблема вот в чем.Я создала в меню на своем сайте раздел и мне туда надо поместить код регистрации, я его сделала но у меня не отправляется письмо на мой мэйл, а просто выбрасывает меня на главную страницу моего сайта.Подскажите как исправить это.
Мне как программисту пример поняте. А юзерам которые хотят, то, не знаю что... Сидите и хотите))
После длительного использования mail(..) обнаружил, что символ = в тексте сообщения до адресата не доходит. Остальные символы на месте, а знак равенства пропадает. Объясните, пожалуйста! Как бороться? Какие еще символы-невидимки бывают?
07.03.2010 Shadowmancer
ставь перед знаком равенства \
Здравствуйте!
<br><br>При вводе данных в форму и после нажатия кнопки \\&quot;Отправить\\&quot; над формой появляется вот такая надпись:\\&quot;Warning: mail() expects at most 5 parameters, 11 given in /usr/home/arendaran/domains/arendaran.ru/public_html/index1.php on line 94\\&quot;
<br><br>Что это ???????
<br><br>Линия 94 у меня выглядет так:
<br><br>mail($to, $iwant, $RadioGroup1, $metro, $okrug, $kommentarii, $imy, $email, $tel1, $tel2, \\\'From:\\\'.$from);
<br><br>Что не правильно?
<br><br>Спасибо за ответ!
скажите пожалуйста что вообще с этим кодом делать? просто ничего не получается. И как мне можно вставить эту форму на html-евскую страницу? если что напишите пожалуйста на почту ifrombelgorod@mail.ru
добрый день!
подскажите, пожалуйста, как сделать так, чтобы когда пользователь получает от тебя письмо, посланное через функцию mail() с сайта, ему приходило сообщение от "Вася Пупкин", а не от "Неизвестный пользователь", как сейчас?
$from='test@test.ru';
На
$from='Вася Пупкин <test@test.ru>';
Помогите дописать скрипт www.cssrevolt.com/upload/files/protoformclass/
Там отсутствует функция отправки почты. Спасибо.
Кодировка не идет. Пробовала все подставлять - все равно приходит абракодабра. У меня outlook. Что же еще написать?
Пробовал сделать отправку почты из ПХП на своем сайте slovar.com.ua Провайдер пишет что функция mail() разрешена, путь к sendmail - /usr/sbin/sendmail Ваш самый простой примерчик пишет, что письмо отправлено, а ничего не доходит. пробовал на разные ящики отсылать. Подскажите, пожалуйста, в чем может быть проблема?
Спасибо!!! Наконец то работающий скрипт для людей не понимающих ничего в PHP ( то есть для меня ) :) вставил код и все работает без всяких там кракозябров! Супер!
Здравствуйте, и правдо замечательная вещ ваш ресурс! Очень мне пригодилось.
Но возник такой вопросик как сделать что бы данные приходили в таблице. Дело в том что у меня это форма он-лайн заказа грузоперевозок, и там очень много факторов и очень много полей... без таблички это всё в одной каше...
Почему-то $title в теме отображается дважды... Что может быть не так?
Все работает , спасибо, но вот например у меня все заработало когда я сделал так:
$from= "".$_POST['email'].""; , а не просто так:
$from= $_POST['email'];
Может кому пригодиться.
Спасибо.
Все как бы работает, но письма приходят с undefined заместо отправленого текста
http;//starline-studio.com
Спасибо, свою почту сделал по вашему примеру!!!
Тык я же не могу указать ящик того, кто будет мне писать... или я что - то не догоняю??
Как правило комнады в пхп создают на английском языке. в данном случае to-кому, from-от кого.
Подскажите, пожалуйста, чей ящик писать в директории $to = 'test@test.ru' Мой личный? Если да, то тогда что писать в диретории $from='test@test.ru'? И куда скрипт вставлять?? В тело документа, или как то отдельно, как листы стилей подгрузить?? Спасибо.
у меня не хосте ваще никак мэйлы не отсылаются, что-нибудь подскажите
У меня скрипт не работает. Точнее он работает но возможно я он не может сделать то, что я думаю. Я себе кинул этот код в директорию апач. При первом запуске отправления письма мне что-то вякнул касперский, типа не удаеться установить соединение с 127.0.0.1. Тогда я отключил касперский. Еще раз отправил письмо. Но оно не доходит до почты. В чем дело? И вообще я не понимаю зачем указывать от кого письмо. Этож можно будет послать письмо "от президента белого дома"? Еще также не понял. Если я смогу слать письма со своего сервера, тогда я смогу спамить сколько захочу, ведь сервером то (это я имею в виду свой домашний комп) управляю я. Где я ошибаюсь в своих рассуждениях? Пожалуйста разъясните мне все по полочкам.
У меня проблема, скрипт встал нормально только при отображении в браузерев полях ввода текста находятся надписи типа <?=substr(htmlspecialchars(trim($_POST['input_name'][0])), 0, 500);?>. Помогите чайнику как скрыть эти надписи? Пожалиста!
Как быть со спамом? Ведт спамить начнут сволочи, можно какую-то проверку с картинкой замутить?
Еще вопрос, если обновить ту же страницу, то надпись "Спасибо! Ваше письмо отправлено." остается. Как ее убрать?
Можно поискать в инете инфу по captcha и установить у своей формы проверочный код.
Второй вариант - это посмотреть коменты ко второму примеру (от 09.02.2007 )
Ругется эксплорер на строчку
if($_POST['submit']) {
Вот так
Notice: Undefined index: submit
Заменила на
if(!empty($_POST['submit'])) {
Ругаться перестал.
Мой вопрос: Письма приходят с нормальной кодировкой в теме, но в теле письма такие козявки, вместо текста: вРН БЕВМН РСР РБНПХРЯЪ Why???
Здрасте! Пишет вот такую ересь, помогите, пожалста.
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in D:\Server\Apache2\htdocs\index.php on line 12
Приодило и приходит при отладке на денвере, но в сети работает. Только кодировка UTF-8 козябрит. Хотя шлю письмо через gmail
Подскажите, пожалуйста!
Проблема в том, что письмо приходит пустым (без текста и реквизитов)
Проверил все переменные - данные доходят до функции mail(), но почему не отправляются - не пойму
Код
$subject1 = "**Test - info**";
$encoding = "From: ".$email." \r\n";
$encoding .="X-Mailer: PHP/" . phpversion() ."\r\n";
$encoding .=" MIME-Version: 1.0\n";
$encoding .="Content-Type: text/plain; charset=UTF-8\r\n";
$encoding .="Content-Transfer-Encoding: 8bit";
$body1 = "<font face=\"arial\" size=\"2\">".$namecust.": <br><br>";
$body1 .= $text;
$body1 .= "</font>";
$body1 .='--'."\n";
$emails = $adminmail1[0];
//echo $body1; echo $emails;
//echo $emails. $subject1. $body1. $encoding;
mail($emails,$subject1,$body1,$encoding);
"<font face="arial" size="2">: <br><br></font>--"
Почему после удачной отправки, ничего не приходит на мыло, проверел на разных серваках.
Отличный скрипт, скопировал, запустил и с первого же раза заработал. и в денвере на хостинге. Спасибо
А какие должны быть настройки на Apache и PHP, чтобы отправить почту?
Извените, но я не понимаю как мне отправить письмо взятое из word, тем кому я это письмо отправил, говорят , что не могут его открыть, и чтобы я переслал его ТЕЛЕ письмом. Не понимаю, как это сделать. Подскажите ЧАЙНИКУ. С Уважением!
Тоже самое, письма не отправляются, может еще что нужно?
Привет... Я почти полный чайник.. Вставил на php страницу код а он не отправляет ничего... Я в шоке оч надо подскажите мож чего дописать надо..
Если бы вы объясняли на живом примере, куда что вставлять, где что исправлять, вобщем все подробней, чтобы вопросов не было лишних. Куда сприпт вставлять и т.д. и т.п.
А все нашел решение. Надо использовать функцию fsockopen вместо mail.
В случае использования apach и PHP под виндой Проблем не возникает, так как там настраивается SMTP (указываем адрес почтового сервера) и smtp_port (собственно порт). Но как только используем Unix, настройки совсем другие sendmail_path (путь к почтовому серверу). А что делать в случае если почтовый сервер на другой машине? Вот не хочу я ставить еще 1 почтовый сервер на машину с Веб сервером.
Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\www\index.php on line 33
mail($to, $title, $mess, 'From:'.$from);
В чём у меня проблема? Заранее спасибо.
Замечательные ссылки,пытался сделать сам- не получилось.Взял полностью Ваш код и выдает сервер такую ошибку:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'submit\\\\\']) { // $_POST[\\\\\'title\\\\\'] содержит данные из поля \\\"Тема\\\", \' at line 1 (UPDATE tPages SET pageContent=\'
<br>Что делать?
подскажите ктонить как сделать чтобы письмо призодило в кодировке utf-8
(проверяю почту squirrel`oм или чемнить другим, но везеде письмо отображается квадратами, токо када спецально делаеш виндоув-1251 - отоображдается нормлаьно, но все аостальное становится иероглифами..
все работает, только вместо нормального текста одни каракули... че с кодировкой делать?
HELP PLZ!!! Разобрался со всем, но как реализовать выбор из списка, select например, у меня форма отдельным файлом, а сам php обработчик в другом. Заранее спасибо!
У меня выдает след. Warning: Failed to Receive in d:\\phpdev\\www\\test\\test1.php on line 6
<br>Что делать ? Подскажите please
Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()
и как с этим бороться? в php.ini перебил сервер но все равно почему то берет из локалхоста
IG@R Alpha
у тебя судя по ссылке хостенг без поддержки пхп
alexey
боюсь что именно этот скрипт вы не прикрутите - коль хостер зарезал 25ый порт...
21.03.2008 артем
<br>А в денвере работать должно? У меня неработает.
<br>
<br>конечно неработает, там же заглушка стоит. все письма что ты \"отправил\" лежат в папке /temp/sendmail/
Люди! Млин! помогите! Когда я тэстировал сообщение отправлялось ббез ошибок но оно не приходило! :( Чё делать? alphastudio.3dn.ru/index-3.html
Вопрос:
У меня скрипт WR-Board 1.4 LUX, там есть своя отправка писем посредством скрипта. Но хостер отлючил возможность отправки писем из-за спамеров.
Могу ли я прикрутить, Ваш скрипт к своему сайту, чтобы при нажатии на моем сайте кнопки "отправить письмо автору обьявления" (у меня доска обьявлений), письмо уходило адресату.
Ведь мыла он не видит.
Привет Всем!!!
У меня такая проблема не могу отправить письмо все время выдает ошибку в чем проблема говорят в php.ini что-то надо настроить но что именно и как? Спасибо!
21.02.2011 Рокса
ноутбук не хочет подключатся к телеку, что делать? зарание спасибо)
блин, не работает вообще!!!!
help, please!!!!!!!
www.olgapeydan.com/olga/phpform.html
Здравствуйте!
ОЧень хочется воспользоваться вамшими трудами!
Но я никак понять не могу, зачем эта строка:
$from=\'test@test.ru\'
Какой мейл там писать надо? Ведь в поле &to='' я пишу куда отправлять....А от кого будет письмо пользователь в форме пишет....
Спасибо :)
Здравствуйте!
<br><br>прописал в contakt.php код этого скрипта, форма выводится нормально но не работает.
<br><br>вот страница с формой: www.ecobur.ru/contakt.php
<br><br>вообще ни какой реакции на нажатие кнопки \\&quot;Отправить\\&quot;
Попробовал вашу форму, все работает, вот только 2 вопроса, 1. как сделать так чтобы письмо "от кого" отправлялось в формате "Серж Киев <admin@test.ru>" тоесть сейчас письма приходят от admin@test.ru а как сделать так чтобы имя видно было, не пропускает ваш скрипт символ "<" и ">". И 2-й вопрос сразу же касается певого, в кодировке utf-8 вместо имени отбражаются каракули. Я имею ввиду 'From:'.$_POST['name'].
Буду благодарен очень очень
После нажатия на кнопку \"Отправить\", выходит такое сообщение:\"Warning: Undefined variable: _POST in d:\\program files\\apache group\\apache\\htdocs\\email.php on line 8\". Подскажите, что не так?!
The mail() command is not allowed. Означает. Что данная команда не разрешена. У меня возникает только одна мысль, что скорее всего сервер не дает отправку. Однако, если использовать ваш код то отправка происходит.
20.01.2011 Мухадин
Установить I-mail
Функция отправки встроенна во flash сайт, при отправлении выдает ошибку. Код таков, можете подсказать в чем проблема.
<?
Error_Reporting(E_ALL & ~E_NOTICE);
while ($request = current($_REQUEST)) {
if (key($_REQUEST)!='recipient') {
$pre_array=split ("&777&", $request);
$post_vars[key($_REQUEST)][0]=$pre_array[0];
$post_vars[key($_REQUEST)][1]=$pre_array[1];
}
next($_REQUEST);
}
reset($post_vars);
$subject="From ".$post_vars['your_name'][0] ;
$headers= "From: ".$post_vars['your_email'][0] ."\n";
$headers.='Content-type: text/html; charset=iso-8859-1';
$message='';
while ($mess = current($post_vars)) {
if ((key($post_vars)!="i") && (key($post_vars)!="your_email") && (key($post_vars)!="your_name")) {
$message.="<strong>".$mess[1]."</strong> ".$mess[0]."<br>";
}
next($post_vars);
}
mail($_REQUEST['recipient'], $subject, "
<html>
<head>
<title>Contact letter</title>
</head>
<body>
<br>
".$message."
</body>
</html>" , $headers);
echo ("Your message was successfully sent!");
?>
появляется такая вот ошибка
Warning: mail() [function.mail]: SAFE MODE Restriction in effect. The mail() command is not allowed. in /www/?????.???/p/u/c/puck/htdocs/contact.php on line 37
Your message was successfully sent!
Я не силен в английском, но мне кажется, что Вам стоит перевести эту фразу.
А у меня такая ерундовина вылетает при попытке отправки: Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in E:\Apache Group\Apache\htdocs\asd.php on line 12
Что делать?
Мужик! Мне надо сделать так, чтоб письмо отправлялось сразу на майл, так чтобы оно отправилось даже если не настроен аутлук, разговаривал с людьми, они говорят что нужно указать почтовый сервер, через который будет проходить письмо, но я никак не пойму, где его указывать, подскажи пожалуйста!
Народ предскажите что не так Сделал все как на примере поменял только емайл на benq@inbox.lv &amp; kraoh@mail.ru Пишет что сообщение отправлено но онно не приходит на емайл
15.03.2010 настя
я не пойму что такое емайл и я как тольо не пытаюсь мне компьютер отвечает введите корректный емайл подскажите любой пример а??
01.06.2010 ЭЛЬНАРА
Я НЕМОГУ ЗАРЕГИСРИРОВОТСЯ В ЕМАЙЙЛЕ УЖЕ 1 НЕДЕЛЮ
02.06.2010 Вы приалываетесь?
Заведите себе почту на яндексе. Очень удобно.
passport.yandex.ru/passport?mode=register&msg=mail&retpath=http%3A%2F%2Fmail.yandex.ru
12.09.2010 Alona
я тоже не знаю как вводить е майл только в контакте, помогите а?
14.09.2010 люся
помогите создать емайл
14.09.2010 Александр
На главной странице www.yandex.ru нажмите слева на ссылку "Завести почтовый ящик"
20.09.2010 Серёга
как ввести емайл
25.09.2010 екатерина
я пытаюсь зарегистриоваться но мне компьютер отвечает не конкретный емайл пожалуйсто скажите какой-нибудь емайл
18.10.2010 даша
что такое имайл
01.11.2010 Юля
Как вводить коректный емайл? А то чё то я не врубаюсь!
20.11.2010 ксюняшка
придумайте емайл пожалуста
11.12.2010 костя
какой ммой емайл
12.12.2010 КРИСТИНА
подскажите как можно создать емайл
12.12.2010 ВОТ ВАМ ОТВЕТ
На главной странице www.yandex.ru нажмите слева на ссылку "Завести почтовый ящик" !!!
26.12.2010 наташа
как правильно ввести емайл
29.12.2010 николай
помогите создать E-mail
01.01.2011 Арина
Я в вожу е-маил а мне не корректный е-маил чего делать?
09.01.2011 ольга
как создать свой емайл?
12.01.2011 настя
я незнаю что такое имайл. помогите пожалуйста
13.01.2011 Александр
-----------------------------------------------------------------------------------------------------------------------
ПРОЧИТАЙТЕ ЭТО и больше не задавайте вопросов:
-----------------------------------------------------------------------------------------------------------------------
Электронная почта, она же имейл, майл, мыло и как угодно называйте... e-mail - электронная почта... учите английский и произносите правильно...
Если еще нет своей учетной записи, то заходим дружно на www.yandex.ru и там слева, под логотипом яндекса видим форму для входа в почту. А под ней ссылочку: "Завести почтовый ящик". Жмакаем на нее и создаем себе почту. После этого начинаем дружно отправлять письма самим себе, а чуть позже уже своим знакомым.
-----------------------------------------------------------------------------------------------------------------------
И БОЛЬШЕ НЕ ЗАДАЕМ НА ЭТОМ САЙТЕ ТУПЫХ ВОПРОСОВ. Спасибо за внимание. Прощайте!
-----------------------------------------------------------------------------------------------------------------------
НЕ ПИШИТЕ НИЧЕГО! ПРОЧИТАЙТЕ ЭТО СООБЩЕНИЕ!! ЕСЛИ НЕ ПОМОГЛО, ПРОЧИТАЙТЕ ЕЩЕ ДВА РАЗА!!! Если не поможет, убейтесь об стену.
22.01.2011 ГАЛИНА
Я НЕ ЗНАЮ СВОЙ ЕМАЙЛ
01.02.2011 МАРИЯ
КАК СОЗДАТЬ СВОЙ ЕМАЙЛ
03.02.2011 света
создайте мне пожалуста е майл
12.02.2011 катя
помогите ввести емайл!!!!!!!!!!! ПЛИЗ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
15.02.2011 егор
помогите вести емайл
01.03.2011 света
я не знаю что такое корректный емайл помогите!
21.03.2011 саша
как создать свой е...mail
24.03.2011 Юлия
Как мне узнать свой е-mail
16.04.2011 вера
ну как создать майл?
20.04.2011 виталий
хочу зарегестрироваца просят емайл это что
27.04.2011 Вика
Як правильно вести емайл
04.05.2011 лида
помогите составить е маил
02.06.2011 анжела
у меня есть почта работает всё нормально,но пытаюсь написать адрес электронки на другом сайте пишут что введите реальный адрес,что делать????
12.06.2011 влад
какой можно создать емайл
13.06.2011 Светлана
создать е-майл
17.06.2011 володя
пришлите мне пожалуйса емайл
17.06.2011 володя
пришлите мне емайл
17.07.2011 оксана
дайте пример создания e maila
27.07.2011 настя
как подобрать пароль и емайл на имя настя
09.08.2011 сеня
я не как не магу понять там написан ваш емаел я пишу а в ответ пишут ввиден неверный емаел подскажите пожалуста
17.08.2011 Светлана
Пример действующего емайла ,не могу зарегистрироваться в одноклассниках или хотя бы зайти
29.08.2011 ирина
не получается создать е майл,он есть но вот например зарег на сайте биглион не могу, пишет не корек.
05.09.2011 Ксения
Как вводить емайл??
18.09.2011 андрей.
помогите выбрать е-майл, и как его написать.
16.10.2011 ДИМА
КАК СОЗДАТЬ ЕМАЙЛ
24.10.2011 саша
настя например такой 4868@mail.ru
02.11.2011 Lena
Напишите ктонибудь действующий емайл??
06.11.2011 настя
что за фигня этот емайл
08.11.2011 тупая
я не фига ничего не пойму!!!!!!!!!!!!
10.11.2011 Александр
Все такие умные
10.11.2011 Александр
Чтото я запутался не могу правильно зарегистрироваться
13.12.2011 ЛЕРА
СКАЖИТЕ КАКИЕ БЫВАЮТ ЕМАЙЛЫ?????????????
23.12.2011 юля
я не могу зарегистрироваться помогите с Е-майлом
05.02.2012 Виктория
хочу сделать емайл
09.02.2012 Александр
Как создать емеил
13.02.2012 чизет
открыл почту в левом уголочке ,всё о.к как только дело доходит до сохранения почты,пишут не корректно введён ё-мыло ,чё за бред чё делать ау?
27.02.2012 дима
придумать майл
15.03.2012 плакса по эмайлу
Не могу к игре хочу подключится нет сил моих!
26.03.2012 АЛИНА
А КАКОЙ ЕМАЕЛ В КОНТАКТЕ
26.03.2012 АЛИНА
ПРОСТИТЕ НО МНЕ ВСЕГО 9 ЛЕТ И ВОТ НЕ МОГУ ЕМАИЛ ВВЕСТИ ПОМОГИТЕ ВВЕСТИ МНЕ ЕМАИЛ В КОНТАКТЕ
26.03.2012 Александр
Алина, почитайте пожалуйста объявление в красной рамочке на самом верху этой страницы. Нажмите на ссылочку в том самом объявлении и заведите себе почту.
17.04.2012 Амир
у меня запрашивают емайл или электронный авдрес, а я даже не знаю что это
29.04.2012 настя
блин я вобще не могу составить емэил
27.05.2012 владимир
не могу придумать емейл
22.06.2012 аида
что такое корректный емайл подскажите любой пример пожалуйста
17.07.2012 камила
привет не могу создать емайл
23.08.2012 Лера
Люди подскажите я не знаю что такое эмайл а без него вконтакты мне не войти!(
24.08.2012 анна
помогите создать какой нибудь емайл
24.08.2012 татьяна
новую почту сделала а компьютер сказал коректный емайл
16.09.2012 лера
мне нужен эмайл
27.09.2012 Гена
Привет ок.
07.10.2012 санчо
HELP я не знаю что такое e-mail и как его создать
18.10.2012 лера
как подобрать емайл к имени лера/?
30.11.2012 вика
что такое ёмаёл
04.02.2013 mako
как подобрать емаел к имени мадина
19.05.2013 Лика
У меня вообще грузится,грузится а всё не как не загрузится,что делать?!?!?!?!?!?!?!
15.09.2013 павел
немогу ввести дополнительный mail
Ура! Работает
Ну все щас такого наворочу :) Спасибо
Я тут флэшем занялся, хочу все в нем реализовать
Круто, оно работает!!!
Письмо доходит практически моментально (проверено на: mail.ru, pochta.ru, yandex.ru). Только почему-то не приходит на rambler.ru.
21.02.2013 Жора
Проверьте папку "спам".
Смотрю Ваш пример, метод mail, не понятно где указывать пароль отправителя, ну и адрес почтового сервера.
как сделать чтобы работал метод пост?пишет что не разрешён метод метод пост
а как всё это дело связать что бы отправка шла через SMTP? а то у мя хостиг злой - гнлушит падло mail()
Привет. Чтобы протестировать на локальной машине нужен почтовй сервер. Подскажите что лучше поставить и как настроить под Windows?
21.02.2013 Егор
Легче всего загрузить денвер.
(смотрите мой ответ на два коммента ниже)
А как отослать письмо из под винды, если стоит SMTP виндовозный и комплекта IIS. Пишите ответ на forsending@mail.ru
Едрить! Время 4:46 утра! Может я просто отупел уже вконец от PHP, но у меня не работает ни один пример!
Даже генератор. А срочняк нужно сделать рабочий скрипт.
Пишет, что сообщение успешно отправлено, но на мыло ничего не приходит. Пробую с дом.компа (Apache, все дела..). Может что-то неправильно в php.ini ?
21.02.2013 Егор
Есть вероятность что на домашнем компе у Вас стоит денвер, а денвер не умеет отправлять реальные письма. Но у него есть функция тестирования. Все удачно "отправленные" складываются в папке WebServers\tmp\!sendmail где их и можно просмотреть открыв блокнотом.
Подскажите пожалуйста как настроить дополнительные поля - не получается что-то..
Спасибо заранее!!!!!!!!
Сайт супер! Все работает, осталось разобраться как ;)
Есть один вопрос. Почему в этой строке mail($to, $title, $mess, 'From:'.$from.'MIME-Version: 1.0\r\nContent-type: text/html; charset=windows-1251\r\n\r\n'); стоит "text/html", а письма прихдят в текстовом формате?
Спасибо!
почему в <form action="" method=post> В актион ничего не написано? Так и должно быть? Не моглибы вы выложить готовые файлы? какое расширение должно быть у них? не работает в таком виде.
21.02.2013 Егор
Пусто атрибут action="" - что данные формы никуда не пере направляются, а будут обрабатываться на этой же странице. Расширение файла должно быть .php Весь php-код должен окружаться тегами: <?php и ?> Код формы формы это уже html-код и его такими тегами окружать не надо.
У меня это не работет. Есть ли какая- нибудь функция (булевская) определяющая правильно ли отработала процедура mail();. Я тестирую сайт на локальном компьютере с выходом в Интернет по Dial-Up, у меня установлен ДЕНВЕР (PHP+MySQL+phpMyAdmin) может что настроить надо?
21.02.2013 Егор
Денвер не умеет отправлять реальные письма. Но у него есть функция тестирования. Все удачно "отправленные" складываются в папке WebServers\tmp\!sendmail где их и можно просмотреть открыв блокнотом.
21.02.2013 Егор
Денвер не умеет отправлять реальные письма. Но у него есть функция тестирования. Все удачно \"отправленные\" складываются в папке WebServers\\tmp\\!sendmail где их и можно просмотреть открыв блокнотом.
А можно в поле письма From указать только имя, не указывая при этом e-mail отправителя?
Прошу прощения, этот вопрос я задавал к третьему примеру 2-05-07, а ответа нет и нет... Вот собственно вопрос:\"А как поменять конструкцию AddAttachment и AddEmbeddedImage для того, что б файл(-ы) и картинку(-ки) брать не с локального компа, каждый раз закачивая их, а положить их рядышком на сайт и брать по мере необходимости, заранее прописав их имена и пути в скрипте?\"
<br>Cпасибо Вам за Вашу просветительскую деятельность!
$path = './i/kartinka24.jpg'; // путь к картинке
if (!$mail->AddEmbeddedImage($path, 'my-attach', 'image.jpg', 'base64', 'image/jpeg'))
die ($mail->ErrorInfo);
$mess = '<b>Изображение:</b><br><img src="cid:image.jpg" border=0>';
?>
как вообще отправить почту с помощъю mail.ru я зарегестрировался и хотел проверить отправить самому себе что-нибудь но ничего не получается
Можно ли сделать так, чтобы при использовании функции mail() в поле письма From указывалось имя, а не e-mail адрес или для этого надо создавать объект PHPMailer()?
$from='Имя<test@test.ru>';
Появляется ошибка такая:
Method Not Allowed
The requested method POST is not allowed for the URL /form.html.
---------------------------------------------------------
Apache/1.3.37 Server at www.....Port 80
Не могу отправить квитанцию в mail не прикрепляется а в Outlok пишет POP3 отправка сообщила об ошибке 0х800СССOD не удается найти сервер эл. почты. Проверте сведения о сервере для своей учетной записи. Где проверить ничего не пойму! Помогите пожалуйста!!!
29.01.2010 Натали
Такая же проблема. Не отправляется заказ. Пишет POP3 и сообщает об ошибке 0x800CCCOD не удается найти сервер эл. почты.Пожалуйста помогите.
15.09.2010 vaqif davudov
ошибка сокета 11001.код ошибки-0х800СССОD.как могу исправитето ошибку
28.03.2011 Zot74ru
не могу отправить сообщение ошибка сокета 11001,код ошибки 0х800СССOD
26.11.2013 Виктория
У меня тоже ошибка на рабочем компе РОР3...хотя у гена работает почта,сравнивала настройки,аналогичные,установила через Мастер Хост,всё равно не пашет...Даже тех помощь бессильна!Напишите предложения на почту пожалуйста vikki2013tori@gmail.com
Я чайник!Помогите:у меня вот такое выдает, что нужно сделать
mail(): "sendmail_from" not set in php.ini or custom "From:" header missing in C:\Server\www\mail.php
"sendmail_from" я прописала адрес а вот header не знаю как сделать
Спасибо большое за оперативные ответы, но это еще не конец :)
А теперь такое выдало - от кого: test@test.ru@at82.bind4you.net
@at82.bind4you.net - адрес хостера (где находитя сайт и программа-обработчик формы). Можно ли это убрать?
Это продолжение предыдущего вопроса. Данные формы отослались, с этим все в порядке, но теперь в письме в строке от кого: test@test.ruMIME-Version: 1.0
Код как Вы написали - mail($to, $title, $mess, 'From:'.$from.'MIME-Version: 1.0\r\nContent-type: text/html; charset=windows-1251\r\n\r\n');
Как сделать, чтобы в письме не отображалось в адресе отправителя вот это: MIME-Version: 1.0 ? Может, где-то в коде что-то не так с синтаксисом.
Форма отправилась, но теперь
<br>
<br> от кого: test@test.ruMIME-Version: 1.0
Здравствуйте!
Форма работает в таком виде:
mail ($recipent, $standard_subject, $info, "MIME-Version: 1.0\r\nContent-type: text/html; charset=windows-1251\r\n\r\n");
и не отсылается при попытке указать отправителя:
$from='test@test.ru';
mail($to, $title, $mess, 'From:'.$from, "MIME-Version: 1.0\r\nContent-type: text/html; charset=windows-1251\r\n\r\n");
В чем причина? Подскажите пожалуйста!
mail($to, $title, $mess, 'From:'.$from.'MIME-Version: 1.0\r\nContent-type: text/html; charset=windows-1251\r\n\r\n');
Автору спасибо.
Но у меня что-то не работает на
Извините, я, наверное, вас уже достала :))))
Вот у меня проблема с этим скриптом. Говорит, что неопределен индекс
if($_POST['submit']) {
на
error_reporting(E_ERROR | E_PARSE);
if($_POST['submit']) {
Спасибо братуха! Отличные скрипты. Я много пересмотрел/перепробовал. НО енти самые классные!