Jump to content
  • 0

Возможно ли отправлять E-mail c localhost?


Shuranka
 Share

Question

Пробовал в php.ini указать вместо localhost smtp сервер провайдера, закомментил строку sendmail_path = usrsbinsendmail -t -i, но вс? равно сообщения приходят на эмулятор, какой бы адрес получателя не был указан. Подскажите, что ещ? нужно изменить, чтобы сообщения пересылались по сети? И возможно ли такое на localhost?

Link to comment
Share on other sites

15 answers to this question

Recommended Posts

  • 0

Спасибо, Tokolist, пойду поищу, где скачать можно. Кстати, сообщения в формате html тоже из-за эмулятора корректно не передаются? Если вставляю в сообщение теги, то они передаются обычным текстом. Вот функция mail():

$m=mail($mail1, $sub, $mess, 'From:'.$mail2, 'Content-Type:text/html; charset="koi8-r"');

Или что-то в заголовке сообщения поменять нужно?

Link to comment
Share on other sites

  • 0

нет эмулятор тут скорее всего ни причем. попробуйте убрать кавычки из charset плюс внимательно изучите пример ф-и mail из оф. документации.

не помешало бы увидеть скриншот сообщения вместе с заголовками в почтовике

Link to comment
Share on other sites

  • 0

на скриншоте не все заголовки видны или возможно они отсутствуют.

данный пример у меня сработал нормально и в мыше все отобразилось как надо

<?php
$to = "test@test.com>";
$subject = "test";

$message = '<html>
<head>
<title>test</title>
</head>
<body>
<p>test</p>
</body>
</html>';

$headers = "MIME-Version: 1.0rn";
$headers .= "Content-type: text/html; charset=iso-8859-1rn";

$headers .= "From: from@mail.comrn";

mail($to, $subject, $message, $headers);
?>

Link to comment
Share on other sites

  • 0

Спасибо, вс? заработало. Вс? дело оказалось в этой строке: "MIME-Version: 1.0rn"; добавил и вс? стало пересылаться с форматированием. Sendmail скачал отсюда архив-451Кб, правда разбираться с ним уже сил нет. Завтра.

Link to comment
Share on other sites

  • 0

Вобщем, установил и настроил sendmail, сообщения по сети пересылаются, но только в том случае, если адрес отправителя зарегистрирован у указанного в config файле провайдера. Впрочем, это не столь важно, мне нужно было настроить и проверить отправку сообщений с сайта. Вопрос следующий, возможно ли кроме sendmail установить на Денвер smtp сервер? Если в config файле указываю в качестве smtp серверa smtp.localhost.localdomain, то сообщения отправляются но не доходят, прич?м в лог-файле нет никаких записей об ошибках. Или sendmail и есть smtp сервер? Я пока только вс? это осваиваю, поэтому не слишком разбираюсь в почтовой терминологии.

Link to comment
Share on other sites

  • 0

http://ru.wikipedia.org/wiki/Почтовый_сервер

я не пойму локально надо отправлять или как. если с localhost то причем тут провайдер?

если локально то зачем smtp.localhost.localdomain? просто localhost или 127.0.0.1 плюс порт (если нужно).

smtp-сервер как и sendmail на Денвер не ставятся они просто ставятся и настраиваются, а в конфиге указывается как php-должен с одним из них "связаться".

Link to comment
Share on other sites

  • 0

Денвер это всеже пакет для локального использования, советую лучше базировать локальный сервер на Apache, тем более эти знания всегда пригодятся.

А для _отправки_ почты вам обязательно нужен SMTP сервер, который следует установить как приложение к серверу Апатч.

Link to comment
Share on other sites

  • 0
smtp-сервер как и sendmail на Денвер не ставятся

Никогда таких выражений не пойму.

Денвер это всеже пакет для локального использования, советую лучше базировать локальный сервер на Apache

Денвер не включает в себя Апачи?

p.s. всио, я банан. %(

Link to comment
Share on other sites

  • 0
smtp-сервер как и sendmail на Денвер не ставятся

Никогда таких выражений не пойму.

не понял юмора. я процитировал автора.

Короче сел приблизительно на час разобрался. Все установил. Все заработало.

Пошаговая инструкция:

1. Качаем sendmail для windows (http://www.glob.com.au/sendmail/)

2. В c:httpdusrsbin

2.1. Переименовываем sendmail.exe в sendmail.exe.bak

2.2. Копируем из скачанного архива файлы sendmail.exe и sendmail.ini

3. В sendmail.ini пишем

smtp_server=127.0.0.1
smtp_port=25
default_domain=localhost

4. В php.ini пишем

sendmail_path="c:httpdusrsbinsendmail.exe -t"

5. Качаем smtp-сервер (http://james.apache.org/)

6. Если нет Java RE то качаем также (http://www.java.com/en/download/manual.jsp)

7. Все устанавливаем и распаковываем

8. Запускаем james-2.3.1binrun.bat и окно не закрываем

9. Проверяем настройки фаерволла

10. Запускаем тестовый скрипт и ждем приблизительно 30 сек. пока все обработается

<?php
mail("bill@microsoft.com", "test", "test", "From: mail@mail.comrn");
?>

ЗЫ Главным критерием при выборе ПО была бесплатность.

ЗЫ ЗЫ Денвер у меня в c:httpd

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy