WeBinstruments

Инструментарий для веб-мастеров

 

на сайте на всех сайтах для веб разработчиков везде
 
 Скрипты
  PHP скрипты   
  Flash скрипты   
  Javascript скрипты   

 Софт
  Инструменты SEO   
  Разработка сайтов   
  Серверное ПО   

 Документация
  MySQL   
  PHP   
  HTML   
  Протоколы и сервисы Internet   

 Статьи
  PHP   
  MySQL   
  Сервер   
  еще...   

 Услуги и сервисы
  Домены   
  Хостинги   
  Блоки для сайта   

 Новости


 Контакты
  icq: 158325531
  email:
  все контакты: здесь




Atom все поступления
Раздел Файлы
Раздел Услуги и сервисы
Раздел Новости
Раздел Статьи
комментарии



 Партнеры


Главная / Статьи / PHP / Отправка писем через SMTP с авторизацией


email
smtp php

Отправка писем через SMTP с авторизацией

13.08.2007
сайт автора: http://webi.ru
публикация данной статьи разрешена только со ссылкой на сайт автора статьи

Как отправить почту с помощью php через SMTP сервер используя сокеты. Рассматривается отправка почты с прикрепленными файлами и просто текста.

Читать всю статью


Комментарии

RSS комментарии


28.07.2009 Роман
присоединяюсь ко всем благодарностям



06.08.2009 Максим
Спасибо. Так и нужно писать примеры. Очень грамотный код.



25.08.2009 Marcello
Пример замечательный. Все работает как часы. Только один вопрос по поводу скрытой копии. Отправляю письмо через telnet и после команды data в заголовок письма после Subject: To: добавляю поле Bcc: Затем после пустой строки сам текст письма. Письмо приходит только на адрес RCPT TO, а копии нету. Что я делаю не так?

p.s. Несколько RCPT TO работают, но нужна именно скрытая копия.



28.08.2009 Севада
Все работает!ОК! Спасибо автору!



08.09.2009 Вадим
Автор-молодчина
Собрал только главное. Любой поймёт.Спасибо.



03.10.2009 Александр
Молодец, всё работает, и время нашёл всё описать,молодец.



17.10.2009 Олег
спасиб :)



13.11.2009 Владимир
Спасибо огромное!
Перерыл тонны статей, с Вашей сразу все получилось!



03.02.2010 александр
Ну, чувак, ты мне реально помог! ;)
Респект и уважуха!



03.02.2010 чувак(админ)
Всегда рад помочь реальным чувакам!!!




18.02.2010 Антон
Огомное спасибо, все работает, вопрос недольшой:
если на несколько адресов отправлять
fputs($smtp_conn,"RCPT TO:asd@qwe.ru\r\n");
$data = get_data($smtp_conn);

строчку
$data = get_data($smtp_conn);

надо дублировать?
или можно просто:
fputs($smtp_conn,"RCPT TO:as1@qwe.ru\r\n");
fputs($smtp_conn,"RCPT TO:as2@qwe.ru\r\n");

И еще вопросик, как можно посмотреть статус отправленых/неотпарвленых сообщение, ведь на маил.ру были ограничения на отправку в час? и какое оптимальное количество адресов в скрипте?

Спасибо заранее за ответ!%)



19.02.2010 админ
Чтобы отправить одинаковый текст нескольким адресатам, достаточно повторять строку RCPT TO с указанием разных адресов, а тело письма один раз(об этом в статье написано).
Но на такие письма реагируют антиспамы, так как по заголовкам будет понятно, что одно письмо отправлено многим адресатам.
Думаю лучше отправлять каждому адресату письмо, для этого после отправки первого письма посылаете не команду выхода, а сброс и начинаете диалого по отправке второго письма, третьего и т.д.
Подробнее в статье читайте.

На счет посмотреть статус писем и т.д., вот тут скорее всего только обрабатывать ответы после отправки каждого письма. Если OK, значит письмо отправилось, ну и считать количество отправленных таким же образом.
А какое количество адресатов, это уже вопрос к маил ру или через кого отправлять будете.

Дальше советы давать не могу, так как похоже, что тут речь идет о рассылке спама, а спам это плохо.



20.02.2010 Антон
По поводу отпарвки нескольки, поэкспериментировал:
fputs($smtp_conn,"RCPT TO:as1@qwe.ru\r\n");
fputs($smtp_conn,"RCPT TO:as2@qwe.ru\r\n");
"повторять строку RCPT TO с указанием разных адресов" - не отправляет.
Только если
fputs($smtp_conn,"RCPT TO:as1@qwe.ru\r\n");
$code = substr(get_data,$smtp_conn),0,3);
fputs($smtp_conn,"RCPT TO:as2@qwe.ru\r\n");
$code = substr(get_data,$smtp_conn),0,3);

Спам - плохо, а когда у тебя есть база клиентов 500 человек и ты убиваешь неделю чтоб отправить им 1 письмо с новостью - еще хуже!:(
Буду разбиратся, огромное спасибо!:)



20.02.2010 админ
Антон, ну да, забыл сказать, что после каждой отправки команды нужно получить ответ от сервера
$data = get_data($smtp_conn);
Либо как в вашем примере...

На счет отправки 500 писем, за один коннект я думаю не отправить столько, да и даже за один день через маил ру не получится отправить.
Я думаю писем по 10 за раз можно кинуть через бесплатные почтовики.
Завести еще регистрацию на яндексе, на рамблере и т.д.
И в циклах отправить по 10 писем через разные почтовики.
Только не пытайтесь отправить через один сервер с разных аккаунтов, так как один сервер заметит отправку с одного ip и одинаковый текст письма.
Скорее всего больше 10 писем за час с одного сервера не получится отправить, а если и получится, то в спам попадет много.



20.02.2010 Антон
По поводу проверки так и понял!:)

Просто задался вопросос - мне на мой ящик, который я везеде "свечу" постоянно приходит по 10-15 писем различного содержания, а сделать рассылку клиентам не могу. Программы, смтп серверы, прокси анонимные ничего не помогало, буду править скрипт - попробую выэать что можно, но это мягко говоря - геморой. Ведь такой вопрос встает рано или поздно перед каждого крупной организацией. И удивляют письма спамеров - отправим 10000 писем за 200-300 руб, сомневаюсь что они мараются с отправкой так. Админ, огромное тебе спасибо, надеюсь что прийду к положительному итогу!:)



21.02.2010 Админ
Антон, ну вообще, когда перед организацией встает вопрос рассылать рассылку, то тут используют другие подходы.

1. Рассылают не через бесплатные почтовики, а через свой домен. У крупных организаций свой сервер, поэтому для них не проблема отправить сколько угодно писем. Но даже на самых жестких хостингах ограничение на отправку писем 300 в сутки.

2. И второй вариант. Существуют сервисы рассылок. Типа subscribe.ru. Которые берут на себя все проблемы с такими рассылками и за определенную плату будут отправлять нужные письма вашим адресатам. Некоторые такие сервисы даже могут подвязывать ваш домен и вести отправку полностью от вашего имени.

Вообще, устраивать рассылку через бесплатные почтовики не очень рационально. В статье я лишь привел пример, что это можно сделать. А реально такой подход лучше на своих доменах использовать.

Спамеры конечно используют другие варианты отправки. Через одноразовые сервера и хакерский метод.



28.02.2010 yalchin
Здравствуйте.
Помогите мне пожалуйста отправить по адресатам письмо. Как говорится массовая рассылка. В интернете нашел имейл адреса, но пока не удается найти программу для масовой отправки, да к тому же у меня проблемы с SMTP. Какой указать, и где скачать бесплатные проги.
Заранее благодарен.



01.03.2010 Админ
извините, я категорически против спама, поэтому помочь не смогу.



25.03.2010 Alexandr
Ко всем хорошим пожиланиям присоединяюсь.
Вопрос:
Например для коннекта с smtp сервером gmail это выглядит так
$smtp_conn = fsockopen("ssl://smtp.gmail.com", 465, $errno, $errstr, 10);
Чёта не пашет, настройки какието нужны php или апаче.



26.03.2010 admin
Alexandr, обычно все настройки для ssl коннекта есть на сервере.
Проверьте в PHP наличие библиотеки php_openssl.dll, если нет, найдите ее в интернете.
Далее проверьте подключение этой библиотеки в php.ini
Включается она так extension=php_openssl.dll
Естественно, у вас должен быть доступ к таким настройкам.



1 2 3 4 5 6 7 8 9 >>>

Добавить свой комментарий


Ваше имя(* обязательно)


Текст сообщения(* обязательно)









 
 
  запомнить

 
Copyright © 2003-2024 WeBi Constructor
Rambler's Top100