2013-06-11 23 views
1

Кто-нибудь знает о библиотеке/API/сервисе/PHP-коде, который позволяет пользователям отправлять друг другу сообщения, не раскрывая их адреса электронной почты? Похоже, такая общая потребность в том, что было бы позором катиться.Отправка пользователю по электронной почте без указания адреса электронной почты

Usage scenario: 
1) User A posts public-facing content on our site. 
2) User B wants to talk to User A privately. He is able to click on User A's name and launch an email to "[email protected]". 
3) When User B sends the email, the email goes to [email protected], which then calls our server to find out who userid 123456 is, and then relays the email. Likewise, any replies are masked. (Though this can be optional) 

Любое такое животное?

+0

Он существовал, и он был выключен. anon.penet.fi. Уединение было замечательно; необузданное насилие, чтобы отправить вещи, как деточки порно, не так много. –

+0

Интересно ... спасибо за лидерство. Я прочитал их предысторию, и я думаю, что есть одно основное отличие; они маскировали отправителя и позволяли вам отправлять по электронной почте кого-либо.Вышеупомянутый сценарий использования позволит только настроить таргетинг людей в пределах одной сети, а получатель должен сам выявить. Поэтому я не могу отправить анонимное письмо в [email protected], но [email protected] может позволить людям связаться с ним, не раскрывая его адрес. Так что это немного другое. – Anthony

+0

@ Энтони, я просто задавался вопросом, достигли ли вы прогресса на этом. Я заинтересован в доставке чего-то подобного для знакомства. – HenryM

ответ

3

Вы могли бы попытаться использовать функциональные возможности из чего-то вроде Osclass:

«http://osclass.org/»

ИЛИ:

Вы будете нуждаться, чтобы убедиться, что у вас есть настройка сервера легитимной почты , Вы можете использовать любой [email protected], что вы выбрали, что означает перевод электронной почты в масках просто вопрос кодирования в вашем любимом языке следующее:

Менее безопасный способ 1:

//Make sure the user is logged in or prompt to do so 
    if(user.LoggedIn()) 
    { 
     mail.send(form.ToField, user.StoredUniqueId, form.subject, form.content); 
    } 
    else 
    { 
     Forward to user login page; 
    } 

Более безопасный:

//Make sure the user is logged in or prompt to do so 
    if(user.LoggedIn()) 
    { 
     //Create a unique entry into a database for reverse lookup 
     string uniqueEmailID = CreateUniqueEmail(user.EmailAddress); 
     DbConnection.AddEntry(uniqueEmailID, user.EmailAddress, Date.Now); 
     mail.send(form.ToField, uniqueEmailID, form.subject, form.content); 
    } 
    else 
    { 
     Forward to user login page; 
    } 

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

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

Во втором, более безопасном формате ваши письма будут поступать из разных электронных писем каждый раз, не позволяя хранить или повторно использовать адрес электронной почты пользователя, но вам нужно будет написать код, если вы хотите, чтобы пользователи были в состоянии ответить на эти адреса. Сайт должен был бы перевести их обратно в свои фактические учетные записи пользователей. Вы можете использовать электронные письма с идентификатором GUID @ yourdomain.com (добавляя дополнительный текст, если хотите, и/или удалите тире). По истечении заданного количества дней вы можете удалить уникальный адрес электронной почты из таблицы обратного поиска и отклонить любые электронные письма, которые не находятся в таблице, в основном отклоняя все, что не было «Ответным» пользователям, получившим электронное письмо , Чтобы узнать больше о GUID, смотрите здесь:

'http://www.guidgenerator.com/'

Я надеюсь, что это помогает.

+0

Да, это имеет смысл. Наверное, я надеялся, что кто-то уже создал для него проект для проекта, вместо того, чтобы строить его с нуля. – Anthony

+0

Если у вас есть почтовый сервер, работающий в вашей компании, то отправка электронной почты очень просто, просто добавьте запись в свою базу данных для будущего поиска и отправьте электронное письмо с помощью своего настраиваемого «от» электронного письма, которое вы создали. Это всего лишь несколько строк кода. Немного более длинная часть будет заключаться в том, чтобы написать сервер, который читает почтовый магазин вашего почтового сервера, выполняет поиск, переводит электронную почту в поле, а затем помещает его в папку, где бы вы ни находились. Вы могли бы сделать это за один день с хорошими навыками Google. Вы по существу делаете «Поиск файла, изменение файла, перемещение файла». Не сложная услуга. – Cyphryx

+0

Хм .. Я немного понимаю, о чем вы говорите. Мы действительно используем SendGrid для нашей доставки, поэтому я никогда не беспокоился об установке почтового сервера. Вы бы рекомендовали использовать Postfix/Sendmail? Похоже, что все, что выбрано, должно идеально записывать входящую почту в каталог и читать исходящую почту из каталога? – Anthony

1

Я предполагаю, что большую часть времени это обрабатывается просто путем предоставления пользователям собственного адреса электронной почты на вашем сервере. Адреса электронной почты фактически анонимны, если вы не предоставите идентификационную информацию. Поэтому запустите почтовый сервер, дайте им адрес «[email protected]» и сохраните свой реальный адрес электронной почты; то любые ответы автоматически отправляются по электронной почте. Так много адресов электронной почты с тщеславием.

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

+0

Это тоже правда. Тем не менее, все равно будет отображаться адрес электронной почты отправителя, если отправитель не прошел через веб-форму. Я предполагаю, что мы могли бы разобрать входящую электронную почту, поменять электронную почту отправителя на адрес электронной почты «[email protected]», а затем передать ее получателю. В любом случае, это довольно много кодирования, а также проблемы с доставкой и т. Д. Я надеялся, что это будет проект на полдня. Звучит как боль в прикладе. :) – Anthony

Смежные вопросы