Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Почтовый сервер
Форумы портала PHP.SU » » Работа с сетью » Почтовый сервер

Страниц (1): [1]
 

1. Alexey - 21 Мая, 2007 - 19:28:35 - перейти к сообщению
Помогите с настройкой php для отправки писем с сайта.
2. evgenijj - 21 Мая, 2007 - 19:33:22 - перейти к сообщению
Alexey пишет:
Помогите с настройкой php для отправки писем с сайта.

Хорошо сказал. Что не получается?
3. Alexey - 21 Мая, 2007 - 19:36:44 - перейти к сообщению
evgenijj пишет:
Alexey пишет:
Помогите с настройкой php для отправки писем с сайта.

Хорошо сказал. Что не получается?

Не могу во-первых
1.Настроить программы(outlook и Courier Mail Server) для тестирования на локальном компьютере
2.При попытке отправить на e-mail выдаёт ошибку
CODE (text):
скопировать код в буфер обмена
  1. Warning: mail(): SMTP server response: 550 Relaying prohibited in C:sokkitsitemail.php on line 2
  2.  
  3.  

4. evgenijj - 21 Мая, 2007 - 19:52:20 - перейти к сообщению
Не приходилось устанавливать почтовый сервер на своем компьютере. Но, вроде, там ничего сложного нет. Вот у меня есть некоторые заметки по этому поводу - думал как-нибудь заняться на досуге
Цитата:

Почтовый сервер на локальной машине для отладки PHP скриптов

Проверьте, отвечает ли кто-либо на 25м порту. Это можно сделать, выполнив telnet localhost 25. Если вы получили "Connection refused", это означает, что у вас не запущен почтовый агент, и, вероятнее всего, не установлен. В таком случае Вам необходимо посетить один из следующих ресурсов:
http://www[dot]argosoft[dot]com/applications/mailserver/
http://www.courierms.ru/index.phtml, http://courierms[dot]narod[dot]ru/
http://www[dot]indigostar[dot]com/sendmail[dot]htm

К примеру, приведем инструкцию по настройке первого из них:

Скачать и проинсталлировать ArGoSoft Mail Server
Запустить приложение и выбрать Tools > Options
Выбрать DNS сервер либо предоставить возможность определять его автоматически
В закладке "IP Homes" вести 127.0.0.1
Стартовать сервис ArGoSoft Mail Server и убедиться, что не было сообщений об ошибках
В файле php.ini указать
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25

Кстати, на сайте http://www[dot]courierms[dot]ru/ есть форум - там быстрее помогут с проблемами установки.

(Добавление)
Поставил я себе почтовый сервер. Скачал версию Courier Mail Server 1.56 на сайте http://courierms[dot]narod[dot]ru/download[dot]html . Разархивировал, запустил CourierMS.exe.
НАСТРОЙКА
1. домен: localhost
2. учетные записи: добавляем новую учетную запись
2.1. реальное имя: Иван Иванов
2.2. имя почтового ящика: ivanov@localhost
2.3. пароль: qwerty
3. SMTP-клиент - указываем адрес SMTP-сервера: localhost
4. POP3-клиент - добавляем запись
4.1. POP3-сервер: localhost
4.2. пользователь: ivanov
4.3. пароль: qwerty
4.4. получатель: ivanov
5. Настройка Outlook
5.1. POP3-сервер: localhost
5.2. SMTP-сервер: localhost
5.4. Имя: Иван Иванов
5.5. E-mail: ivanov@localhost
5.6. Учетная запись: ivanov
5.7. Пароль: qwerty
6. В файле php.ini указать
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $headers  = "Content-type: text/plain; charset=\"windows-1251\"\n";
  4. $headers .= "From: ivanov@localhost\n";
  5. $subject = "TEST MESSAGE";
  6. $body = "BODY TEST MESSAGE";
  7. $to = "ivanov@localhost";
  8. mail($to, $subject, $body, $headers);
  9. ?>
  10.  

Цитата:

Return-Path: <ivanov@localhost>
Received: from xxxxx [127.0.0.1] by localhost [127.0.0.1] with ESMTP; Mon 21 May 2007 22:26:00 +0400
Date: Mon, 21 May 2007 22:26:00 +0400
Subject: TEST MESSAGE
To: ivanov@localhost
Content-type: text/plain; charset="windows-1251"
From: ivanov@localhost

BODY TEST MESSAGE
5. Alexey - 22 Мая, 2007 - 09:32:59 - перейти к сообщению
Большое спасибо! Попробую.
6. Alexey - 22 Мая, 2007 - 12:16:24 - перейти к сообщению
У меня я ещё такоё вопрос:
Я пытаюсь отправить данные извлечённые из базы данных в цикле while
и потом обработанные в счётчике for($i=0;$i<=$total;$i++)
Но мне почемуто каждая строка из базы данных записывается в отдельный файл, то

есть кол-во файлов получается равным $total. Как правильно записать код

отправки чтобы все данные были помещены в одно письмо?
7. evgenijj - 22 Мая, 2007 - 12:41:20 - перейти к сообщению
Ничего не понял. Что надо сделать? Составить сообщение и отправить его по e-mail? Или несколько сообщений и на разные e-mail? Или отправать письмо с вложением?

Попробуй еще раз - какая задача стоит, как ты ее решал и что не получилось. Желательно - с исходным кодом.
8. Alexey - 22 Мая, 2007 - 13:30:30 - перейти к сообщению
То есть мне надо извлечь из БД данные и отправить их на e-mail
чтобы сообщение выглядело так:
1 строка
2 строка
3 строка
и т.д.
По строкам из БД

Но у меня каждая строка записывается в отдельный файл.
Вот код

PHP:
скопировать код в буфер обмена
  1.  
  2. $bin=@mysql_query("SELECT * FROM `bin`");
  3.    while($root=mysql_fetch_array($bin))
  4.    {
  5.    $root1=$root['name'];
  6.    $a=@mysql_query("SELECT * FROM `user` WHERE `login`='$current_author'");
  7.    $name=mysql_num_rows($a);
  8.    $imena[]=($root['name']."  -  ".$root['pass']);
  9.    }
  10.      for($i=0;$i<=("$name"-1);$i++)
  11.       {
  12.  
  13.         mail("admin@localhost","$imena[$i]n");
  14.         if(mail)  echo "Письмо успешно отправлено";
  15.        }
  16.  
9. evgenijj - 22 Мая, 2007 - 14:08:11 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $query = "SELECT login, password FROM users WHERE 1 ORDER BY login";
  4. $res = mysql_query( $query );
  5. $user_list = "Users:\\n";
  6. while( $user = mysql_fetch_array( $res ) )
  7. {
  8.     $user_list = $user_list."Login: ".$user["login"].", Password: ".$user["password"]."\\n";
  9. }
  10. $headers = "From: admin@localhost\\n";
  11. $headers = $headers."Content-type: text/plain; charset=\\"windows-1251\"\\n";
  12. mail("admin@localhost", "Users", $user_list, $headers);
  13. ?>
  14.  
10. Alexey - 22 Мая, 2007 - 14:32:55 - перейти к сообщению
РАБОТАЕТ! БОЛЬШОЕ СПАСИБО!
11. Стас - 22 Мая, 2007 - 21:16:34 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  <?PHP
  2.  $headers  = "Content-type: text/plain; charset="windows-1251"n";
  3.  $headers .= "From: ivanov@localhostn";
  4.  $subject = "TEST MESSAGE";
  5.  $body = "BODY TEST MESSAGE";
  6.  $to = "ivanov@localhost";
  7.  mail($to, $subject, $body, $headers);
  8.  ?>

У меня не работает ( поставил это сервер настроил. клиент подключается. php.ini исправил, загушку TS отключил.

 

Powered by ExBB FM 1.0 RC1