Проверьте, является ли отправитель действительным с imap в C # - PullRequest
0 голосов
/ 11 августа 2010

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

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

Ответы [ 2 ]

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

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

Это именно то, что делают отправители спама (и что почтовые серверы пытаются обнаружить).

Раньше легко. Далее следует диалоговое окно SMTP:

        S: MAIL FROM:<your.friend@example.com>
        R: 250 OK

        S: RCPT TO:<somene@example.com>
        R: 250 OK

        S: DATA
        R: 354 Start mail input; end with <CRLF>.<CRLF>
        S: Blah blah blah...
        S: ...etc. etc. etc.
        S: <CRLF>.<CRLF>
        R: 250 OK

Но теперь все становится интереснее. Между этими двумя до сих пор существует гонка вооружений, например:

Атака

Попробуйте ввести ложный адрес «ОТ:» во время связи с SMTP-сервером.

Защита: SMTP-сервер может потребовать от вас аутентификации и разрешить только адрес «от», связанный с вашей учетной записью.

Еще одна атака

Попробуйте использовать сторонний SMTP-сервер, у которого нет такого правила.

Защита (сторонний SMTP-сервер): разрешать отправку только электронных писем с доменами «из», совпадающими с «собственными» доменами.

Защита (SMTP-сервер получателя): добавьте SPF-запись в свой домен. Эта запись включает в себя все хосты, которым разрешено отправлять электронную почту с отправителем в этом домене. Если электронное письмо отправлено с недопустимого хоста, увеличьте его рейтинг спама или удалите.

Еще одна атака

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

Защита: обучайте пользователей и / или используйте хороший антивирус.

И так далее ... Всегда найдутся способы, как подделать адрес электронной почты отправителя и как его подделать. Проверьте следующие ссылки для получения дополнительной информации:

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

Эта функция не поддерживается imap.

Некоторые серверы хранят такую ​​информацию в заголовке письма (например, spamassassin info или проверки SPF), так что она доступна для любой библиотеки imap, но сильно зависит отпочтовый сервер, к которому подключается приложение.

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