Как отправлять электронные письма с помощью PHP из сети с высокой степенью защиты? - PullRequest
0 голосов
/ 04 мая 2009

Я хочу отправить электронное письмо с моего локального компьютера (с помощью почтовой функции PHP), но я не могу этого сделать, поскольку у меня нет почтового сервера. Кроме того, мне нужно иметь возможность отправлять электронные письма через сеть, которая сильно защищена брандмауэром (в какой степени я пока не знаю).

Моя идея состоит в том, чтобы использовать «QK SMTP Server 3» и использовать его для использования внешнего сервера, который у меня есть в качестве «сервера ретрансляции». Будет ли это работать? Есть ли более простой вариант?

Если мой подход в порядке. Я хотел бы знать, как я могу открыть порт 25 на моем сервере, чтобы он мог получить этот запрос. Выполняя эту команду, я получаю:

[root@balder296 ~]# service iptables status
Firewall is stopped.
[root@balder296 ~]#

Спасибо за любую помощь и совет.

решаемые

Hotmail (на удивление) предоставляет бесплатный сервис ретрансляции. Я надеюсь, что это работает для меня, когда я проверяю это! Но внешний почтовый сервер - это путь.

Ответы [ 6 ]

2 голосов
/ 04 мая 2009

Выясните, можете ли вы подключиться к Интернету через порт 25 (SMTP)

  • telnet gmail-smtp-in.l.google.com 25 (это один из серверов Gmail)

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

  • yum install postfix (например, из вашего замечания по сервису я предполагаю, что вы используете Redhat или Centos)

Если вам не удается подключиться к почтовым серверам Интернета через порт 25, вы можете попробовать найти внутреннюю почтовую ретрансляцию (это то, что вам придется найти самостоятельно, в зависимости от вашей сети).

В этот момент у вас есть два варианта. Вы можете использовать функцию mail () для вашего локального почтового сервера, если вы определили параметр 'relay' на своем почтовом сервере (/ etc / postfix, если вы используете Postfix).

Другой вариант - следовать этому руководству и заставить PHP отправлять сообщения на внутренний ретранслятор.

1 голос
/ 04 мая 2009

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

Почему бы вам не спросить парня из сети, что является хорошим решением для отправки почты?

0 голосов
/ 04 мая 2009

В прошлом я использовал SwiftMailer, а затем настроил общую учетную запись gmail для отправки почты. Единственное, что я обнаружил, это то, что лучше сохранять адрес отправителя в качестве настроенной учетной записи gmail, в противном случае спам-фильтры, как правило, портят электронную почту.

0 голосов
/ 04 мая 2009

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

Если вы пытаетесь обойти администратора сети, в лучшем случае у вас может быть хрупкая система. В зависимости от правил / настроек вашей сети, вы МОЖЕТЕ иметь возможность настроить пакет SMTP-сервера для ретрансляции сообщений с другого почтового сервера в сети. Это должно потребовать работы с сетью или администратором электронной почты.

0 голосов
/ 04 мая 2009

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

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

0 голосов
/ 04 мая 2009

Если у вас есть учетная запись Google Mail, вы можете использовать ее для отправки электронной почты, используя Swift Mailer .

...