по электронной почте .. я должен быть в состоянии сделать это? - PullRequest
3 голосов
/ 29 августа 2010

У меня есть веб-сайт, example.com размещен в Godaddy. Я просто возился с функцией PHP mail и загрузил следующее на мой сайт по адресу example.com:

mail( "someone@yahoo.com", "test", "test message", "From: someone@gmail.com" );

Почему это работает? Я имею в виду, это не должно, верно? Адресный домен «От» не является «@ example.com». Тем не менее, когда я проверяю свою электронную почту на somebody@yahoo.com, я получаю сообщение от somebody@gmail.com ... Как получается, что я могу (потенциально) отправить электронное письмо с чьей-либо учетной записи электронной почты без пароля?

Ответы [ 4 ]

3 голосов
/ 29 августа 2010

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

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

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

1 голос
/ 29 августа 2010

это из-за спецификации формата электронной почты. взгляните на спецификацию заголовка письма, вы можете обратиться к http://en.wikipedia.org/wiki/Email#Header_fields

это причина, по которой никто не должен доверять информации "от", когда получаешь электронное письмо.

0 голосов
/ 29 августа 2010

Именно поэтому были введены такие системы, как Sender Policy Framework (SPF) и DomainKeys Identified Mail (DKIM).

SPF позволяет администраторам определять, где электронная почтадля конкретного домена предполагается создать.В вашем примере и при условии, что записи SPF были настроены, записи будут показывать, что хост Go Daddy, с которого отправлено письмо, не был авторизованным отправителем для домена gmail.com.Почтовый сервер (Yahoo), который получает эту почту и выполняет проверку SPF, вероятно, отклонил бы почту.

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

Обе эти системы требуют надлежащих записей SPF / DKIM длябыть настроенным, а также требовать, чтобы почтовый сервер, который обрабатывает электронную почту для получателя, действительно выполнял проверку.

Так что не волнуйтесь: над этой проблемой решаются: -)

0 голосов
/ 29 августа 2010

Должны ли вы быть в состоянии сделать это, в основном вопрос того, кого вы спрашиваете. В письме RFC говорится, что вы должны. Лучшая практика для хостинга и интернет-провайдера говорит, что вы не должны.

Это видно с точки зрения PHP. Да, вы должны

Edit: И, кстати, вы не отправляете почту с чьего-либо аккаунта, а просто заявляете, что ваша электронная почта чем-то отличается от того, что на самом деле является правдой. По сути, это то же самое, что представить себя незнакомцу, как, скажем, «Билл Клинтон». Если получатель обращает внимание, они будут знать, что это неправильно. В реальном мире, потому что вы не похожи на него, а в мире электронной почты вы можете просто проверить, разрешено ли отправляющему серверу полагаться на этот конкретный домен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...