Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

отправка email сообщений [PHP]

312
29 апреля 2009 года
dead_star
392 / / 26.11.2006
прошу прощения что опять поднимаю этот вопрос
знаю он всем уже надоел
я не углублялся в вопрос отправки сообщений
насколько я знаю есть 3 способа отправки сообщений

первый
отправка с помощью функции mail()
второй
через сокет конектиться к почтовому серваку
третий
напримую соединятся с фыйлом sendmail.exe на сервере
и как параметры уму передовать все данные

Dolonet как-то выкладывал класс для отправки сообщений через сокет
он работает и в общем он меня устраивает

но я опять столкнулся с необходимостью отправлять сообщения не авторезируясь на сервере
насколько я понимаю это можно сделать с помощью функции mail()
я пробовал это делать раньше но у меня ничего не получилось и я благополучно забросил это дело

сейчас хочу всетаки разобратся
пишу следующий код
 
Код:
$result = mail("test@test.ru", "My Subject", "Line 1\nLine 2\nLine 3", "Content-type: text/plain; charset=windows-1251\r\n");
var_dump($result);

на экране печатает
 
Код:
bool(true)

тоесть все ок, но до адресата письмо не доходит
пробовал указывать более расширеную шапку
Код:
$from = "admin@test.ru";
$to = "test@test.ru";
$subject = "My Subject";
$message = "Line 1\nLine 2\nLine 3";
$head =
   "From: ".$from."\n"
 . "To: ".$to."\n"
 . "X-Mailer: Test.ru\n"
 . "Reply-To: ".$from."\n"
 . "Mime-Version: 1.0\n"
 . "Subject: ".$subject."\r\n"
 . "Content-type: text/plain; charset=windows-1251\r\n";
$result = mail($to, $subject, $message, $head);
var_dump($result);

результат тот же
у меня есть предположение что причина в настройках сервера
12
30 апреля 2009 года
alekciy
3.0K / / 13.12.2005
Цитата: dead_star

но я опять столкнулся с необходимостью отправлять сообщения не авторезируясь на сервере


То, что ты ни где не вводишь авторизационные данные совсе не значит, что авторизация про происходит. Просто в данном случае происходит соединение с локальным SMTP сервером который для localhost принимает соединение без вопросов (на сколько я помню в php.ini можно перенаправить такой запрос на внешний сервер).

Отсюда первое требование, на машине с которой ты оправляешь письмо должен стоят почтовый сервер.

Функция mail рапортует тебе true. И это правильно, ведь сама функция отработала корректно. Она отдала письмо в систему и все, дальнейшее её не волнует. Работает ли почтовый сервер, корректно ли он настроен.

Поэтому отсюда второе требование. Сервер не только должен быть установлен, но еще и корректно настроен для (хотя бы) оправки почты.

Третий вывод прост. Хочешь иметь гарантию оправки письма - используй сокет. Общаясь напрямую с сервером ты всегда можешь быть уверенным в результате и если не оправить письмо, это хотя бы знать о том, что письмо не уходит и (например сброс ситуации в лог) и уже предпринимать какие то действия.

13
30 апреля 2009 года
RussianSpy
3.0K / / 04.07.2006
А еще сервер, с которого отправляется письмо должен иметь домен. Если у вас стоит дома сервер с внешним IP то с вероятностью в 99% отправлять с него письма не получится (ну естественно если не имеется ввиду авторизация на другом почтовом сервере). Такое происходит из-за особенностей работы антиспам систем
312
30 апреля 2009 года
dead_star
392 / / 26.11.2006
согласен что с сокетом работать практичней
подробная информация, логи и все такое

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

раньше, до меня, народ отправлял письма с сайта с помощью функции mail
сейчас, как я уже говорил, ничего не получается
функция mail возвращает true но до адресата письмо не доходит

я так понимаю что проблема в настройке почтового сервера
подскажите хотябы в каком направлениии копать

пс сервер поднят на линуксе
13
30 апреля 2009 года
RussianSpy
3.0K / / 04.07.2006
2dead_star: ты мое сообщение прочел? Домен к IP сервера привязан какой-нибудь?
12
30 апреля 2009 года
alekciy
3.0K / / 13.12.2005
Цитата: dead_star

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


Каким образом сокетное соединение и LDAP связаны между собой?

Цитата: dead_star

я так понимаю что проблема в настройке почтового сервера
подскажите хотябы в каком направлениии копать

пс сервер поднят на линуксе


Правильно понимаешь. Копать в строну настройки почтовика (читать усиленно документацию по установленному почтовику). Еще более правильно будет привлечь специалиста, ибо самому можно разбираться долго, упорно и безрезультативно. Почта вообще служба старая со своими историческими заморочками. Не зря именно с ней чаще всего и возникают проблемы (если сравнивать с установкой веб сервера или СУБД).

12
30 апреля 2009 года
alekciy
3.0K / / 13.12.2005
Цитата: RussianSpy
А еще сервер, с которого отправляется письмо должен иметь домен.


Уверен?
Все же я не стал бы смешивать понятие технической возможности доставки почти и блокирование её.

312
30 апреля 2009 года
dead_star
392 / / 26.11.2006
Цитата: RussianSpy
2dead_star: ты мое сообщение прочел? Домен к IP сервера привязан какой-нибудь?



домен помойму к этому отношения не имеет
покрайней мере когда речь идет о сокете
конектиться к серверу можно по домену, а можно по IP

Цитата: alekciy
Каким образом сокетное соединение и LDAP связаны между собой?


честно говоря я несовсем понимаю что такое LDAP
потому извеняюсь если сказал не в тему

Цитата: alekciy
Правильно понимаешь. Копать в строну настройки почтовика (читать усиленно документацию по установленному почтовику). Еще более правильно будет привлечь специалиста, ибо самому можно разбираться долго, упорно и безрезультативно. Почта вообще служба старая со своими историческими заморочками. Не зря именно с ней чаще всего и возникают проблемы (если сравнивать с установкой веб сервера или СУБД).


понятно
спаибо за информацию
попробую разобратся

13
30 апреля 2009 года
RussianSpy
3.0K / / 04.07.2006
Цитата: alekciy
Уверен?
Все же я не стал бы смешивать понятие технической возможности доставки почти и блокирование её.



Абсолютно уверен на 100%. В свое время убил несколько дней прежде чем выяснить почему тестовый сервер не отсылает письмо с подтверждением регистрации.

12
30 апреля 2009 года
alekciy
3.0K / / 13.12.2005
Цитата: dead_star

честно говоря я несовсем понимаю что такое LDAP
потому извеняюсь если сказал не в тему


Не в тему это еще слабо сказано... Я бы сказал п***ец как не в тему.

12
30 апреля 2009 года
alekciy
3.0K / / 13.12.2005
Цитата: RussianSpy
Абсолютно уверен на 100%.


Просто на сколько я помню свякие спецификации наличие доменного имени совершенно не обязательно.
А вопрос не приема почты в случае отсутствия у исходящего MTA доменного имени все же, имхо, из другой оперы. Из оперы фильрации входящей почты и интиспамов.

2
30 апреля 2009 года
squirL
5.6K / / 13.08.2003
Цитата:
прошу прощения что опять поднимаю этот вопрос
знаю он всем уже надоел


это, безусловно проще - снова задать, чем прочесть RFC 2821. тогда вопросы отпадут сами собой

12
30 апреля 2009 года
alekciy
3.0K / / 13.12.2005
Цитата: squirL
это, безусловно проще - снова задать, чем прочесть RFC 2821. тогда вопросы отпадут сами собой


Боюсь дело не в незнании RFC :D

13
01 мая 2009 года
RussianSpy
3.0K / / 04.07.2006
Цитата: alekciy
Просто на сколько я помню свякие спецификации наличие доменного имени совершенно не обязательно.
А вопрос не приема почты в случае отсутствия у исходящего MTA доменного имени все же, имхо, из другой оперы. Из оперы фильрации входящей почты и интиспамов.



А я собственно и не говорил про спецификации - я как раз и говорил про антиспам))


[COLOR="Silver"]ЗЫ Ты скоро станешь таким же злым как я - бедные посетители этого форума, им будет непросто[/COLOR]

12
01 мая 2009 года
alekciy
3.0K / / 13.12.2005
Цитата: RussianSpy

[COLOR="Silver"]ЗЫ Ты скоро станешь таким же злым как я - бедные посетители этого форума, им будет непросто[/COLOR]


Я?! Оооо, нет))) ничуть. Я как был язвительным на таком язвительном уровне и останусь ) Лентяев и лодырей высмеивать и подкалывать, тем кто хоть к чему то стремиться подсказывать, но ни как не делать за них.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог