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 :: Отправка email через socket smtp

 PHP.SU

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


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

> Описание: Отправка email через socket smtp
dispatchx
Отправлено: 27 Декабря, 2016 - 04:40:22
Post Id


Новичок


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


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




Прошу помочь в одном скрипте он отправляет email через smtp, не подскажите как внедрить анонимную отправку через Прокси?

Примеры скриптов:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $config['smtp_username'] = 'noreplay@mail.ru';  //Смените на адрес своего почтового ящика.
  3. $config['smtp_port'] = '465'; // Порт работы.
  4. $config['smtp_host'] =  'ssl://smtp.mail.ru';  //сервер для отправки почты
  5. $config['smtp_password'] = 'pass';  //Измените пароль
  6. $config['smtp_debug'] = true;  //Если Вы хотите видеть сообщения ошибок, укажите true вместо false
  7. $config['smtp_charset'] = 'utf-8';    //кодировка сообщений. (windows-1251 или utf-8, итд)
  8. $config['smtp_from'] = 'Ваше имя'; //Ваше имя - или имя Вашего сайта. Будет показывать при прочтении в поле "От кого"
  9.  
  10. function smtpmail($to='', $mail_to, $subject, $message, $headers='') {
  11.     global $config;
  12.     $SEND =    "Date: ".date("D, d M Y H:i:s") . " UT\r\n";
  13.     $SEND .= 'Subject: =?'.$config['smtp_charset'].'?B?'.base64_encode($subject)."=?=\r\n";
  14.     if ($headers) $SEND .= $headers."\r\n\r\n";
  15.     else
  16.     {
  17.             $SEND .= "Reply-To: ".$config['smtp_username']."\r\n";
  18.             $SEND .= "To: \"=?".$config['smtp_charset']."?B?".base64_encode($to)."=?=\" <$mail_to>\r\n";
  19.             $SEND .= "MIME-Version: 1.0\r\n";
  20.             $SEND .= "Content-Type: text/html; charset=\"".$config['smtp_charset']."\"\r\n";
  21.             $SEND .= "Content-Transfer-Encoding: 8bit\r\n";
  22.             $SEND .= "From: \"=?".$config['smtp_charset']."?B?".base64_encode($config['smtp_from'])."=?=\" <".$config['smtp_username'].">\r\n";
  23.             $SEND .= "X-Priority: 3\r\n\r\n";
  24.     }
  25.     $SEND .=  $message."\r\n";
  26.    
  27.      if( !$socket = fsockopen($config['smtp_host'], $config['smtp_port'], $errno, $errstr, 30) ) {
  28.         if ($config['smtp_debug']) echo $errno."<br>".$errstr;
  29.         return false;
  30.      }
  31.     if (!server_parse($socket, "220", __LINE__)) return false;
  32.     fputs($socket, "HELO " . $config['smtp_host'] . "\r\n");
  33.     if (!server_parse($socket, "250", __LINE__)) {
  34.         if ($config['smtp_debug']) echo '<p>Не могу отправить HELO!</p>';
  35.         fclose($socket);
  36.         return false;
  37.     }
  38.     fputs($socket, "AUTH LOGIN\r\n");
  39.     if (!server_parse($socket, "334", __LINE__)) {
  40.         if ($config['smtp_debug']) echo '<p>Не могу найти ответ на запрос авторизаци.</p>';
  41.         fclose($socket);
  42.         return false;
  43.     }
  44.     fputs($socket, base64_encode($config['smtp_username']) . "\r\n");
  45.     if (!server_parse($socket, "334", __LINE__)) {
  46.         if ($config['smtp_debug']) echo '<p>Логин авторизации не был принят сервером!</p>';
  47.         fclose($socket);
  48.         return false;
  49.     }
  50.     fputs($socket, base64_encode($config['smtp_password']) . "\r\n");
  51.     if (!server_parse($socket, "235", __LINE__)) {
  52.         if ($config['smtp_debug']) echo '<p>Пароль не был принят сервером как верный! Ошибка авторизации!</p>';
  53.         fclose($socket);
  54.         return false;
  55.     }
  56.     fputs($socket, "MAIL FROM: <".$config['smtp_username'].">\r\n");
  57.     if (!server_parse($socket, "250", __LINE__)) {
  58.         if ($config['smtp_debug']) echo '<p>Не могу отправить комманду MAIL FROM: </p>';
  59.         fclose($socket);
  60.         return false;
  61.     }
  62.     fputs($socket, "RCPT TO: <" . $mail_to . ">\r\n");
  63.     if (!server_parse($socket, "250", __LINE__)) {
  64.         if ($config['smtp_debug']) echo '<p>Не могу отправить комманду RCPT TO: </p>';
  65.         fclose($socket);
  66.         return false;
  67.     }
  68.     fputs($socket, "DATA\r\n");
  69.     if (!server_parse($socket, "354", __LINE__)) {
  70.         if ($config['smtp_debug']) echo '<p>Не могу отправить комманду DATA</p>';
  71.         fclose($socket);
  72.         return false;
  73.     }
  74.     fputs($socket, $SEND."\r\n.\r\n");
  75.     if (!server_parse($socket, "250", __LINE__)) {
  76.         if ($config['smtp_debug']) echo '<p>Не смог отправить тело письма. Письмо не было отправленно!</p>';
  77.         fclose($socket);
  78.         return false;
  79.     }
  80.     fputs($socket, "QUIT\r\n");
  81.     fclose($socket);
  82.     return TRUE;
  83. }
  84.  
  85. function server_parse($socket, $response, $line = __LINE__) {
  86.     global $config;
  87.     while (@substr($server_response, 3, 1) != ' ') {
  88.         if (!($server_response = fgets($socket, 256))) {
  89.             if ($config['smtp_debug']) echo "<p>Проблемы с отправкой почты!</p>$response<br>$line<br>";
  90.              return false;
  91.          }
  92.     }
  93.     if (!(substr($server_response, 0, 3) == $response)) {
  94.         if ($config['smtp_debug']) echo "<p>Проблемы с отправкой почты!</p>$response<br>$line<br>";
  95.         return false;
  96.     }
  97.     return true;
  98. }
  99. ?>
  100. <?PHP
  101. smtpmail('Имя получателя', 'noreplay@mail.ru', 'Тема письма', 'HTML или обычный текст письма');
  102. ?>


Надо чтобы отправляло через прокси.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB