Enviando um email via cron

1

Gostaria de receber alguns conselhos sobre a melhor forma de enviar um email depois de executar uma consulta SQL. Todos os dias, gostaria de executar um script PHP / SQL para identificar usuários que devem ser enviados por e-mail. Depois disso, gostaria de enviar por email esses usuários e anexar um arquivo para cada usuário (que é a saída de outro processo PHP / SQL).

Minha abordagem até agora é usar o uso do cron para chamar o script php e gravar a saída do csv em um diretório temporário exclusivo para cada usuário. No entanto, não tenho certeza de como enviar os dados por e-mail aos usuários.

Estou usando um servidor do CentOS e usando o PostGreSQL para meu banco de dados.

    
por celenius 21.08.2012 / 12:00

3 respostas

3

A melhor maneira é enviar o email pelo seu código php ( link ). O Cron só pode ter um destinatário de correio por entrada de crontab ( Substituir MAILTO por uma única entrada crontab ).

    
por 21.08.2012 / 12:10
0

experimente o mailx:

 echo "this is a test mail" | mailx -s "Test mail" [email protected]

Se isso não funcionar, talvez você não tenha um servidor de correio local disponível. Nesse caso, instale o pacote ssmtp e configure /etc/ssmtp/ssmtp.conf . Você precisa fornecer um servidor de e-mail real e o nome de domínio local:

#
# /etc/ssmtp.conf -- a config file for sSMTP sendmail.

root=postmaster
# The place where the mail goes.
mailhub=mail.yourdomain.com

# Where will the mail seem to come from?
rewriteDomain=yourdomain.com

# The full hostname
hostname=server.yourdomain.com
    
por 21.08.2012 / 12:10
0

Como você disse, seu script PHP / SQL você pode usar a função de email php para enviar email. Você também pode anexar o arquivo que você gerou.

Veja como você pode enviar o email em PHP: link

Se você estiver enviando muitos e-mails e precisar otimizá-lo, leia este:

    
por 21.08.2012 / 13:59