2015-04-13 3 views
-3

На моем веб-сайте я хотел бы получить адреса электронной почты посетителей, если они вошли в их почтовый ящик. Как я могу это сделать? (используя PHP или Javascript).Получить адрес электронной почты посетителя

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

(Say Я посылаю вам письмо, содержащее ссылку на мой сайт, если вы нажмете на эту ссылку, я хочу, чтобы сохранить свой адрес электронной почты!)

EDIT: Я заставлю человек (от и списка адресов электронной почты у меня уже есть) заполнить аннуимоническую форму опроса .. и я хочу знать, заполнили ли они это или нет, если нет, я отправлю письмо по электронной почте.

Спасибо заранее.

+5

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

+0

Итак, они посещают ваш сайт, и вы хотите украсть свой адрес [email protected]? Джи, что никогда бы никогда не злоупотребляли спамерами. нет сирри! –

+2

Вы можете настроить ссылку для каждого получателя, используя данные, которые помогут вам идентифицировать пользователя. – tmt

ответ

3

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

Вы должны иметь таблицы базы данных, как:

CREATE TABLE customer_emails (
    hash CHAR(32) PRIMARY KEY, 
    email VARCHAR(64) 
); 

При отправке сообщения электронной почты, необходимо добавить строку для каждого клиента со случайным хэш-кода и их электронной почты. Адрес электронной почты будет содержать URL, как:

http://yourdomain.com/somescript.php?hash=XYZ123ABC... 

При нажатии на ссылку, скрипт делает:

$stmt = $pdo->prepare("SELECT email FROM customer_emails WHERE hash = :hash"); 
$stmt->bind_param(':hash', $_REQUEST['hash']); 
$stmt->execute(); 
$row = $stmt->fetch(PDO::FETCH_ASSOC); 
if ($row) { 
    $email = $row['email']; 
} else { 
    // Resport that email is not found 
} 
+0

Зачем это получилось? Это именно то, что люди на самом деле делают. – Pointy

+0

Возможно, он ожидал, что я дам код, который показывает, как это сделать в деталях. – Barmar

+0

будет ли извлечен хэш-код? если я собираюсь искать электронную почту в базе данных? –