Отправка почты, не зная SMTP-сервера

Seducer

Турист
Регистрация
8 Апр 2011
Сообщения
9
Реакции
0
Credits
14
Подскажите, плиз, как можно решить такую задачку.
Есть программка для заказов. Будет рассылаться нашим клиентам.
Программа должна уметь отправлять письмо с заказом к нам.
Но клиенты есть всякие. И большинство из них вряд ли знают, что такое SMTP-сервер и какое у него имя для их электронки. Многие сидят через вэб-интерфейс.
Адрес свой в качестве отправителя они введут. Адрес получателя - тоже.
Как можно, зная только адрес отправителя, отправить почту с их компа? Ну или еще какие-нибудь способы.

Добавлено через 1 минуту
На всякий случай, сообщаю, что программа не будет использоваться для коммерческого использования. :) Она нужна только внутри для обмена между нами и нашими клиентами.

Добавлено через 6 минут
Да... еще забыл. Сейчас есть старенькая программа с тем же функционалом. Писалась когда-то давно на заказ. Контакты утеряны с разработчиками. Исходников, естественно, нет. Но там каким-то образом это работало. А я сейчас написал свою (благо, что лет 10 назад занимался Delphi) и хотелось бы, чтобы данный механизм также присутствовал и в новой программе.
 
Последнее редактирование модератором:

demav

Местный
Регистрация
20 Ноя 2008
Сообщения
97
Реакции
13
Credits
158
Могу предложить отправлять заказы на ваш сервер. Например, на mantis (хоть эта система и для другого). Вот здесь статья как это можно прикрутить: Для просмотра ссылки Войди или Зарегистрируйся

В статье написано про обработчик ошибок на Delphi. Вам, понятно, не надо отлавливать ошибки, а только отправить сообщение на сервер с mantis - т.е. только половину задачи.
 

olegzua

Местный
Регистрация
6 Сен 2007
Сообщения
10
Реакции
3
Credits
20
Можно запрашивать DNS с записями типа MX (Mail exchange) для адресата и через полученные адреса в цикле пытаться по SMTP отправлять сообщения.
 

Zat

Турист
Регистрация
12 Фев 2009
Сообщения
8
Реакции
0
Credits
16
На вскидку, можно сделать так:
1. Заводим на гугле-маил какой-нить аккаунт.
2. В программе в настройках, клиент вводит свой е-маил, и куда он отправляет.
3. При отправке письма, програама в тело сообщения добавляет первой строкой адрес отправителя (сервак не даст отправить письмо с адресом не от своего аккаунта), т.е. вашего клиента.
4. Внутри программы соединение идет через созданный вами аккаунт на гугле.
5. Письмо пришло к вам, Ваша программа смотрит первую строку в теле письма (так же вам известно с какого адреса оно пришло, ведь аккаунт на гугле создали вы) и
говорит с какого реально адреса оно пришло.

Ваша задача, только завести аккаунт на любом почт. сервере и все.
Отправка может происходить по SMTP и по IMAP4, получаете по IMAP или POP3.
Главное, чтобы в программе нельзя было увидеть данные вашего аккаунта на гугле-маиле, чтобы не заспамили. Но если прога только клиентам дается, то это не грозит, в конце концов, можно обновить прогу и ввести новые данные.
Вроде как это самый простой способ. У клиента на выход через своего оператора должен быть открыт 25-й порт.

Добавлено через 4 минуты
Ну и самый простой вариант, в вашей конторе завести SMTP-сервер и через него
принимать от клиентов почту. Сами выдаете какждому логин, пароль, и встраиваете в прогу. Все.
Все клиенты вам же через ваш же сервет отправляют сообщения.
У провайдера должен быть открыт 25-й порт на выход
 
Последнее редактирование модератором:

Seducer

Турист
Регистрация
8 Апр 2011
Сообщения
9
Реакции
0
Credits
14
Выкрутились следующим образом: поставили у себя почтовый сервер и через него пропускаем (Relay)
 

demav

Местный
Регистрация
20 Ноя 2008
Сообщения
97
Реакции
13
Credits
158
Выкрутились следующим образом: поставили у себя почтовый сервер и через него пропускаем (Relay)

Я не спец в этом деле, но не получится ли так, что ваш SMTP будет отловлен злоумышленниками и через него будет рассылаться спам?
 

Seducer

Турист
Регистрация
8 Апр 2011
Сообщения
9
Реакции
0
Credits
14
Не исключено. На контроле держим. :) Плюс админ настройки какие-то сделал. Вроде не должно быть таких моментов.
 

XProger

Турист
Регистрация
2 Май 2010
Сообщения
9
Реакции
0
Credits
18
>Как можно, зная только адрес отправителя, отправить почту с их компа? Ну или еще какие-нибудь способы.

а не проше было зарегить две почты с одной будешь отправлять на вторую зная все smtp =) а почту клиента писать в теле письма.....
 

Seducer

Турист
Регистрация
8 Апр 2011
Сообщения
9
Реакции
0
Credits
14
Нет. Не проще. Менеджер должен получить письмо от клиента, а не от какого-то адресата. Что получится, когда менеджер нажмет в почтовом клиенте кнопку "ответить"? :) Копировать из тела письма адрес клиента, создавать новое сообщение и вставлять скопированное - это некрасивое решение.
 

Pricolist

Турист
Регистрация
17 Окт 2008
Сообщения
6
Реакции
0
Credits
12
Остаётся действительно делать запрос на MX запись указанного пользователем e-mail домена и этот ответ использовать.
 

MegabyteS

Турист
Регистрация
14 Авг 2006
Сообщения
3
Реакции
0
Credits
6
а не упадет ли такое письмо в спам? если принимающая сторона вобще не отвергнет его.
 

jmain

Турист
Регистрация
25 Дек 2011
Сообщения
4
Реакции
0
Credits
8
Упадет! щас в большинстве спам фильтры жестко настроены.
 

kryptik

Турист
Регистрация
14 Май 2007
Сообщения
5
Реакции
0
Credits
10
@demav that calls the web service which, still uses an SMTP server.