Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2012, 00:59   #1
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию Отправка писем с локалхоста

По данной инструкции http://www.simplecoding.org/php-mail-pod-windows.html, немного с изменениями неважными написал код.

PHP код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Simple Mail</title>
</head>
<body>
<?php
$addr 
'usa-1200@mail.ru';
$theme 'Для тебя';
$text 'Приве малыш! Как дела?';
if (isset(
$addr) && isset($theme) && isset($text)
        && 
$addr != "" && $theme != "" && $text != "") {
    if (
mail($addr$theme$text"From: vova_33@mail.ru")) {
        echo 
"<h3>Сообщение отправлено</h3>";
    }
    else {
        echo 
"<h3>При отправке сообщения возникла ошибка</h3>";
    }
}
?>
<form action="index.php.php" method="post">
<p>
    <label for="addr">eMail:</label>
    <input type="text" name="addr" id="addr" size="30" />
</p>
<p>
    <label for="theme">Тема письма:</label>
    <input type="text" name="theme" id="theme" size="30" />
</p>
<p>
    <label for="text">Текст письма:</label>
    <textarea rows="10" cols="20" name="text" id="text"></textarea>
</p>
<p>
    <input type="submit" value="Отправить" />
</p>
</form>
</body>
</html>

В поле email ввожу usa-1200@mail.ru
В поле тема пишу "Привет" и текст Привет Петя! в поле текст, нажимаю отправить. Выдает такое сообщение.

Цитата:
Not FoundThe requested URL /mailer.php was not found on this server.Apache/2.2.19 (Win32) PHP/5.3.6 Server at test.ru Port 80
Что делать?
sendmail.exe лежит у меня по такому пути: C:\php\sendmail\sendmail.exeВ php.ini

PHP код:
Указал в php.ini так:
smtp_port 2525
SMTP 
sendmail_from =
sendmail_path "C:\php\sendmail\sendmail.exe -t" 


Файл sendmail.exe действительно у меня лежит по такому пути как я указал выше. После отправки, выдает такое сообщение:

PHP код:
Not FoundThe requested URL /mailer.php was not found on this server
Помогите, что делать?
kilogram вне форума Ответить с цитированием
Старый 13.06.2012, 08:49   #2
Inkognitoo
 
Аватар для Inkognitoo
 
Регистрация: 13.04.2012
Сообщений: 9
По умолчанию

Как я понял, у вас некий эмулятор сервера, они работают в оффлане и лишь имитируют отправку сообщения.
Попробуйте зарегистрироваться на любом бесплатном хостинге и протестировать код там.
Inkognitoo вне форума Ответить с цитированием
Старый 13.06.2012, 12:24   #3
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию

Да мне нужно с локалхоста, как с него? Помогите исправить ошибку.

Последний раз редактировалось kilogram; 13.06.2012 в 12:31.
kilogram вне форума Ответить с цитированием
Старый 13.06.2012, 12:37   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Что за файл такой - mailer.php?
Sendmail настроен, как описано в статье?
В php.ini должно быть так (согласно вашей статье):
Код:
[mail function]
SMTP =
sendmail_from =
sendmail_path = "C:\php\sendmail\sendmail.exe -t"
Ваш вариант:
Код:
Указал в php.ini так: 
smtp_port = 2525 
SMTP = sendmail_from = 
sendmail_path = "C:\php\sendmail\sendmail.exe -t"
Отличия заметны..?
Andkorol вне форума Ответить с цитированием
Старый 13.06.2012, 13:15   #5
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию

Код:
sendmail_from = 
SMTP =
smtp_port = 25
sendmail_path = "C:\php\sendmail\sendmail.exe -t"
Вот так настроил и такой код
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Simple Mail</title>
</head>
<body>
<?php
$addr = 'usa-1200@mail.ru';
$theme = 'Для тебя';
$text = 'Приве малыш! Как дела?';
if (isset($addr) && isset($theme) && isset($text)
        && $addr != "" && $theme != "" && $text != "") {
    if (mail($addr, $theme, $text, "From: vova_33@mail.ru")) {
        echo "<h3>Сообщение отправлено</h3>";
    }
    else {
        echo "<h3>При отправке сообщения возникла ошибка</h3>";
    }
}
?>
<form action="index.php" method="post">
<p>
    <label for="addr">eMail:</label>
    <input type="text" name="addr" id="addr" size="30" />
</p>
<p>
    <label for="theme">Тема письма:</label>
    <input type="text" name="theme" id="theme" size="30" />
</p>
<p>
    <label for="text">Текст письма:</label>
    <textarea rows="10" cols="20" name="text" id="text"></textarea>
</p>
<p>
    <input type="submit" value="Отправить" />
</p>
</form>
</body>
</html>
Не работает. Что делать?
kilogram вне форума Ответить с цитированием
Старый 13.06.2012, 13:22   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от kilogram Посмотреть сообщение
Не работает. Что делать?
Ппц, я по-китайски вопросы пишу..?
Цитата:
Что за файл такой - mailer.php?
Sendmail настроен, как описано в статье?
Что сложного в том, чтобы сделать точно так, как написано в статье?
Andkorol вне форума Ответить с цитированием
Старый 13.06.2012, 13:58   #7
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию

Я делал так как в статье, что не так? Посмотрите на мой код и настройки, чем они неправильные? Подскажите. Заранее благодарю.
kilogram вне форума Ответить с цитированием
Старый 13.06.2012, 14:54   #8
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от kilogram Посмотреть сообщение
Я делал так как в статье, что не так? Посмотрите на мой код и настройки, чем они неправильные? Подскажите.
Покажите настройки Sendmail, которые вы выполнили в соответствии с рекомендациями статьи.
Не php.ini - а именно Sendmail.
Andkorol вне форума Ответить с цитированием
Старый 13.06.2012, 19:40   #9
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию

Все, исправил ошибку. Оказывается в 3-ем параметре функции mail -> From: нужно было указать такое же название почты, как и в кофигурационном файле force_sender=usa-1400@mail.ru

Немного подкоректировал код, чтобы приходили письма в русской кодирове тема и само письмо.

Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Simple Mail</title>
</head>
<body>
<?php
@$addr = $_POST['addr'];
@$theme = $_POST['theme'];
@$text = $_POST['text'];
if (isset($addr) && isset($theme) && isset($text)
        && $addr != "" && $theme != "" && $text != "") {
    if (mail($addr, $theme, $text, "From: usa-1000@mail.ru \r\nContent-type: text/html; charset=UTF-8 \r\n")) {
        echo "<h3>Сообщение отправлено</h3>";
    }
    else {
        echo "<h3>При отправке сообщения возникла ошибка</h3>";
    }
}
?>
<form action="index.php" method="post">
<p>
    <label for="addr">eMail:</label>
    <input type="text" name="addr" id="addr" size="30" />
</p>
<p>
    <label for="theme">Тема письма:</label>
    <input type="text" name="theme" id="theme" size="30" />
</p>
<p>
    <label for="text">Текст письма:</label>
    <textarea rows="10" cols="20" name="text" id="text"></textarea>
</p>
<p>
    <input type="submit" value="Отправить" />
</p>
</form>
</body>
</html>
в маил.ру,яндекс.ру пришло в папку входящие, в ukr.net пришло в папку СПАМ, в i.ua тоже в СПАМ,нужно что-то решать.

Как сделать чтобы не приходило в СПАМ?
kilogram вне форума Ответить с цитированием
Старый 13.06.2012, 19:59   #10
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от kilogram Посмотреть сообщение
Как сделать чтобы не приходило в СПАМ?
При отправке с локалхоста - вероятно никак.
Большинство почтовых сервисов используют проверку SPF при фильтрации спама - что подразумевает наличие реального домена и привязки к нему через запись в DNS.
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отправка писем zed221 PHP 7 05.04.2012 11:25
Анонимная Отправка Писем mish@ PHP 5 04.04.2012 15:11
Отправка ел. писем legendary Win Api 5 01.09.2010 15:44
отправка писем на winsock joker Работа с сетью в Delphi 2 29.12.2008 14:25