Лучший способ отделить электронную почту и внешний сервер - PullRequest
1 голос
/ 22 февраля 2012

Я использую сервер Apache с PHP.До сих пор электронные письма пользователям отправлялись с этого сервера Apache с использованием функции PHP mail().

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

Теперь, когда на сервере Apache больше нет программного обеспечения для работы с электронной почтой, каков наилучший способ заставить его отправлять электронную почту (т.е. отправлять содержимое электронной почты на новый почтовый сервер)?Насколько я знаю, функция PHP mail() не очень подходит для отправки почты с отдельного сервера.

Спасибо

Ответы [ 4 ]

2 голосов
/ 22 февраля 2012

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

1 голос
/ 22 февраля 2012

Ниже приведен хороший пример использования SMTP-соединений из php: http://www.9lessons.info/2009/10/send-mail-using-smtp-and-php.html

1 голос
/ 22 февраля 2012

вы можете создать веб-сервис на выбранном вами языке (возможно, php) и определить точный интерфейс для отправки почты. простой прототип будет:

public function sendMail( string from, array to, subject, body, whatnot )

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

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

еще одна вещь: клиент будет выглядеть примерно так:

require_once "SOAP/Client.php"; 
// SOAP/WSDL 
$sw = new SOAP_WSDL ("http://example.com/mailserver.php?wsdl"); 

// Proxy-Obj. 
$proxy = $sw->getProxy (); 

// servicemthod 
$erg = $proxy->sendMail ("me@example.com", array of recps, etc ); 

// return 
print $erg."\n";
1 голос
/ 22 февраля 2012

Я рекомендую использовать некоторый класс-обертку, чтобы отправлять * выделенный текст * почту независимо от подсистемы.

swiftmailer , например, хорошо работает.

...