Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal!
Estou codificando um link para o usuário se descadastrar de uma lista de emails enviados, ao clicar no link, uma mensagem de e-mail com o e-mail a descadastrar descrito deverá ir para o administrador da lista para retirá-lo manualmente. O que eu consegui até aqui é se eu enviar o link com o "descadastre-se" já com o e-mail no final: <a href="www.meudominio.com.br/descadastra.php?email=email@email.com", aí o admin recebe e retira da lista manualmente. O que eu gostaria é que isso fosse automático, que ao clicar no link, o e-mail do usuário seja captado automaticamente sem que o admin tenha que colocar no final do link.
<?php
$email = ($_GET['email']);
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "X-Mailer: PHP ". phpversion();
$envio = mail(
"dominio@meudominio.com.br", "Descadastrar E-mail", "Favor descadastrar-este e-mail da sua lista de e-mail:\r\n <a href=' " . $email . " ' target='_blank'>".$email."</a>", $headers);
if($envio)
echo "Você não receberá mais este tipo de e-mail";
else
echo "A mensagem não pode ser enviada";
?>Seguindo o que o matheus disse, esse processo é simples mas requer alguns cuidados.
Assim como você está tentando fazer é necessário obter os dados do e-mail por algum lugar assim sendo recebemos esses dados por GET a partir do link que enviamos para para a pessoa
1 - Esse link : www.meudominio.com.br/descadastra.php?email=email@email.com
A entrada da global GET['email'] deve ser tratada de forma que o arquivo descadastra.php só interaja caso o valor seja realmente um e-mail válido, caso contrário um "malandrinho" pode passar como parâmetro ao invés do e-mail uma instrução para o SQL executar.
2 - Com o parâmetro filtrado e seguro contra injeções ou instruções, você faz a busca se realmente esse endereço existe em sua base de dados.
3 - Coexistindo você pode pedir uma autentificação, exemplo pedindo a confirmação da senha. Porque vai lá saber se fulano@fulano não fez esse ato mas foi lá sicrano e colocou o endereço na barra da url com email de fulano para executar a ação.
-
Como sugestão procure a respeito do PHPMailer para enviar emails, mas procure as versões mais antigas que de uns tempos para cá o phpmailer ficou uma m*****.
>
Em 01/07/2018 at 04:21, Matheus Tavares disse:
Olá @Paulo Wilker, seja bem-vindo.
Para que o processo de remoção na lista de e-mails seja automático, primeiramente é necessário que a sua lista de e-mails seja automática. O que eu quero dizer, é que esses e-mails precisam estar cadastrados em um banco de dados.
Como você usa a sua lista de e-mails atualmente?
Sobre o link em si, você precisa:
1 - Definir o endereço completo do seu site manualmente. Você pode utilizar as variáveis de ambiente disponíveis no array [superglobal $_SERVER](https://secure.php.net/manual/pt_BR/reserved.variables.server.php), mas eu não indicaria isso, pois dessa forma você prende seu código ao seu ambiente.
2 - Definir o e-mail do usuário, mas isso não deve ser um problema, já que este e-mail é exatamente o mesmo que vai no primeiro parâmetro da função mail. Basta você reutilizar a variável.
Obrigado pessoal, vou pesquisar melhor essas opções.
Olá @Paulo Wilker, seja bem-vindo.
Para que o processo de remoção na lista de e-mails seja automático, primeiramente é necessário que a sua lista de e-mails seja automática. O que eu quero dizer, é que esses e-mails precisam estar cadastrados em um banco de dados.
Como você usa a sua lista de e-mails atualmente?
Sobre o link em si, você precisa: