2010-11-04 5 views
-1

Я знаю, что это возможно, но могу ли я обойтись без удаленного SMTP-сервера или тому подобного? В основном я хочу отправить почту с PHP, но без почты()Отправка почты через fsockopen?

+0

Ваш вопрос нуждается в разработке. через общий доступ к файлам и прямой доступ к mbox? – stillstanding

+0

@ непонятно, что вы подразумеваете под общим файлом. не имеют прямого доступа к почтовому ящику. – Rob

+1

см. Мой отредактированный ответ – stillstanding

ответ

0

Возможно, но не совсем тривиально, учитывая тот факт, что вы должны быть знакомы с SMTP, POP3 и/или IMAP для обмена данными с почтовым сервером.

Вам необходимо закодировать приложение, чтобы оно имитировало поведение MTA, то есть если вы собираетесь делать то, что делает функция mail(), и с помощью сокетов. Если вы работаете в Linux, другой вариант - сделать вызов ОС sendmail.

+0

Правильно, я изучал его. Scratch localhost: 8888 вещь (редактирование вопроса за секунду) В основном я хочу отправить почту без почты() – Rob

1

Я не уверен, что вы имеете в виду именно «без удаленного SMTP-сервера», как и в любой почтовой рассылке, по крайней мере, один из них должен быть задействован - тот, кто получает почту на счет получателя ...

Что вы, вероятно, можете сделать (решать вам, стоит ли это делать) - использовать функции сокета PHP для открытия соединения на порту 25 с удаленным почтовым сервером. Google 'SMTP telnet' для некоторых примеров того, как выглядит сеанс SMTP (довольно простой, чтобы быть правдой), а затем google для 'SMTP codes' для более подробных объяснений того, что говорит ваш удаленный сервер.

0

Чтобы не использовать почту() смотреть в PHPMailer

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

Я мог ошибаться, но вы всегда будете использовать SMTP-сервер, даже если этот сервер является только веб-сервером с помощью sendmail. Если вы запускаете свой PHP на окнах, вам нужно включить службу IIS в встроенной SMTP-службе.

Смежные вопросы