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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: грамотное отправление писем Mail();

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
xTODx
Отправлено: 30 Июля, 2015 - 14:02:54
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2013  
Откуда: Киев/Шостка


Помог: 1 раз(а)




Добрый день, прочитал Статью на хабре, но что-то видимо не догнал.
Вот функция отправки
PHP:
скопировать код в буфер обмена
  1.  
  2. function mess($email, $code){
  3.                 global $config;
  4.                 $from  = "?utf-8?b?".utf8_encode($config->EMAIL)."? = <{$config->EMAIL}>";
  5.                 $to  = "?utf-8?b?".utf8_encode($email)."? = <{$email}>";
  6.                 $title = "Регистрация на {$config->BASE_URL}";
  7.                 $subject = "?utf-8?b?".utf8_encode($title )."? = <{$title }>";
  8.                 $message = "<p>Сообщение</p";
  9.                 $headers = "From: {$from}" . "\r\n" .
  10.                                 "Reply-To: {$to}" . "\r\n" .
  11.                                 'Content-type: text/html; charset=utf-8' . "\r\n".
  12.                                 'X-Mailer: PHP/' . phpversion();
  13.                 mail($email, $subject, $message, $headers);
  14.                        
  15. }
  16.  

Письма не приходятНедовольство, огорчение
помогите. пожалуйста, уже замучался

(Отредактировано автором: 31 Июля, 2015 - 00:47:02)



-----
Был Ламером, пытался чему-то научится, спустя 2 года так и остался ламером.
 
My status
 Top
exlant
Отправлено: 30 Июля, 2015 - 15:53:48
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




настройки php.ini смотрели?
 
 Top
DlTA
Отправлено: 30 Июля, 2015 - 22:53:42
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




если mail() не отправляет возможно это дело запрешено на сервере
стучите админам
 
 Top
xTODx
Отправлено: 31 Июля, 2015 - 00:44:42
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2013  
Откуда: Киев/Шостка


Помог: 1 раз(а)




DlTA пишет:
если mail() не отправляет возможно это дело запрешено на сервере
стучите админам

может что-то не правильно написал???
хм(
(Добавление)
exlant пишет:
настройки php.ini смотрели?

на хостинге разместился, на денвере отправлялось,хм.
Хотя с того момента конечно поменялась функция у меня, но не отправляет даже обычные сообщения.

(Отредактировано автором: 31 Июля, 2015 - 10:07:28)



-----
Был Ламером, пытался чему-то научится, спустя 2 года так и остался ламером.
 
My status
 Top
xTODx
Отправлено: 31 Июля, 2015 - 13:24:46
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2013  
Откуда: Киев/Шостка


Помог: 1 раз(а)




написал хостеру, сказали что сообщения уходят, но потом их отбрасывает спамфильтр, понял что
не катит.
исправил на base64_encode, как написано в хабре.
PHP:
скопировать код в буфер обмена
  1.  
  2. function mess($email, $code){
  3.                 global $config;
  4.                 $from  = "?utf-8?b?".base64_encode($config->EMAIL)."? = <{$config->EMAIL}>";
  5.                 $to  = "?utf-8?b?".base64_encode($email)."? = <{$email}>";
  6.                 $title = "Регистрация на {$config->BASE_URL}";
  7.                 $subject = "?utf-8?b?".base64_encode($title )."? = <{$title }>";
  8.                                 $message = "<p>Здравствуйте! Вы получили это письмо в связи с тем, что зарегистрировались на сайте арт-площадки <u>&laquo; <a href=\"{$config->BASE_URL}\">Борщ</a>&raquo;</u>&nbsp; Чтобы закончить процесс активации аккаунта, пройдите, пожалуйста, по следующей ссылке: </p> <em><a href=\"{$config->BASE_URL}/code/{$code}\">{$config->BASE_URL}/code/{$code}</a></em><br /> Аттеншн! Если Вы не совершали регистрацию, всё равно заходите к нам смотреть всякие искусства &ndash; у нас только самое вкусное и интересное :)</p";
  9.                                 $headers = "From: {$from}" . "\r\n" .
  10.                                 "Reply-To: {$to}" . "\r\n" .
  11.                                 'Content-type: text/html; charset=utf-8' . "\r\n".
  12.                                 'X-Mailer: PHP/' . phpversion();
  13.                                 mail($email, $subject, $message, $headers);
  14.                        
  15.                 }
  16.  


-----
Был Ламером, пытался чему-то научится, спустя 2 года так и остался ламером.
 
My status
 Top
xTODx
Отправлено: 02 Августа, 2015 - 21:36:22
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2013  
Откуда: Киев/Шостка


Помог: 1 раз(а)




Решил попробовать smtp
выдрал код на каком-то сайте, как работать должно понял, только вот пример не работает никак(
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3.         header('Content-Type: text/plain;');
  4.         error_reporting(E_ALL ^ E_WARNING);
  5.         ob_implicit_flush();
  6.  
  7.         $address = 'localhost'; // адрес smtp-сервера
  8.         $port    = 25;          // порт (стандартный smtp - 25)
  9.        
  10.         $login   = 's';    // логин к ящику
  11.         $pwd     = 's';    // пароль к ящику
  12.        
  13.         $from    = 'a@s.com.ua';  // адрес отправителя
  14.         $to      = '0994697770@mail.ru';  // адрес получателя
  15.        
  16.         $subject = 'Message 007';       // тема сообщения
  17.         $message = 'Проверка';          // текст сообщения
  18.  
  19.         try {
  20.                
  21.                 // Создаем сокет
  22.                 $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
  23.                 if ($socket < 0) {
  24.                         throw new Exception('socket_create() failed: '.socket_strerror(socket_last_error())."\n");
  25.                 }
  26.  
  27.                 // Соединяем сокет к серверу
  28.                 echo 'Connect to \''.$address.':'.$port.'\' ... ';
  29.                 $result = socket_connect($socket, $address, $port);
  30.                 if ($result === false) {
  31.                         throw new Exception('socket_connect() failed: '.socket_strerror(socket_last_error())."\n");
  32.                 } else {
  33.                     echo "OK\n";
  34.                 }
  35.                
  36.                 // Читаем информацию о сервере
  37.                 read_smtp_answer($socket);
  38.                
  39.                 // Приветствуем сервер
  40.                 write_smtp_response($socket, 'EHLO '.$login);
  41.                 read_smtp_answer($socket); // ответ сервера
  42.                
  43.                 echo 'Authentication ... ';
  44.                        
  45.                 // Делаем запрос авторизации
  46.                 write_smtp_response($socket, 'AUTH LOGIN');
  47.                 read_smtp_answer($socket); // ответ сервера
  48.                
  49.                 // Отравляем логин
  50.                 write_smtp_response($socket, base64_encode($login));
  51.                 read_smtp_answer($socket); // ответ сервера
  52.                
  53.                 // Отравляем пароль
  54.                 write_smtp_response($socket, base64_encode($pwd));
  55.                 read_smtp_answer($socket); // ответ сервера
  56.                
  57.                 echo "OK\n";
  58.                 echo "Check sender address ... ";
  59.                
  60.                 // Задаем адрес отправителя
  61.                 write_smtp_response($socket, 'MAIL FROM:<'.$from.'>');
  62.                 read_smtp_answer($socket); // ответ сервера
  63.                
  64.                 echo "OK\n";
  65.                 echo "Check recipient address ... ";
  66.                
  67.                 // Задаем адрес получателя
  68.                 write_smtp_response($socket, 'RCPT TO:<'.$to.'>');
  69.                 read_smtp_answer($socket); // ответ сервера
  70.                
  71.                 echo "OK\n";
  72.                 echo "Send message text ... ";
  73.                
  74.                 // Готовим сервер к приему данных
  75.                 write_smtp_response($socket, 'DATA');
  76.                 read_smtp_answer($socket); // ответ сервера
  77.                
  78.                 // Отправляем данные
  79.                 $message = "To: $to\r\n".$message; // добавляем заголовок сообщения "адрес получателя"
  80.                 $message = "Subject: $subject\r\n".$message; // заголовок "тема сообщения"
  81.                 write_smtp_response($socket, $message."\r\n.");
  82.                 read_smtp_answer($socket); // ответ сервера
  83.                
  84.                 echo "OK\n";
  85.                 echo 'Close connection ... ';
  86.                
  87.                 // Отсоединяемся от сервера
  88.                 write_smtp_response($socket, 'QUIT');
  89.                 read_smtp_answer($socket); // ответ сервера
  90.                
  91.                 echo "OK\n";
  92.                
  93.         } catch (Exception $e) {
  94.                 echo "\nError: ".$e->getMessage();
  95.         }
  96.        
  97.         if (isset($socket)) {
  98.                 socket_close($socket);
  99.         }
  100.        
  101.         // Функция для чтения ответа сервера. Выбрасывает исключение в случае ошибки
  102.         function read_smtp_answer($socket) {
  103.                 $read = socket_read($socket, 1024);
  104.                
  105.                 if ($read{0} != '2' && $read{0} != '3') {
  106.                         if (!empty($read)) {
  107.                                 throw new Exception('SMTP failed: '.$read."\n");
  108.                         } else {
  109.                                 throw new Exception('Unknown error'."\n");
  110.                         }
  111.                 }
  112.         }
  113.        
  114.         // Функция для отправки запроса серверу
  115.         function write_smtp_response($socket, $msg) {
  116.                 $msg = $msg."\r\n";
  117.                 socket_write($socket, $msg, strlen($msg));
  118.         }
  119. ?>
  120.  

Помогите, пожалуйста.

(Отредактировано автором: 03 Августа, 2015 - 18:56:23)



-----
Был Ламером, пытался чему-то научится, спустя 2 года так и остался ламером.
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB