+ Responder ao Tópico



  1. #1

    Question Enviar e-mail pelo shell

    Pessoal preciso enviar e-mails com os arquivos de log, ai instalei o postifix e ta tudo ok... tenho um script em php que eu mando o e-mail pela web mesmo e a funcionando file...

    so q eu queria fazer um script em shell que fizesse isso de maneira automatica e enviasse esses arquivos todos os dias...

    Ai eu pesquisei pelo mestre google e achei mta coisa + nenhuma funcionou...

    O que eu mais econtrei foi usando o camando mail, so q da esse erro: /usr/lib/sendmail: No such file or directory
    . . . message not sent.
    e eu num to afim de instalar o sendmail nao.. alguem tem alguma dica?

    Valews

  2. #2

    Padrão

    Olá Tuxson,

    O erro dp /usr/lib/sendmail é a requisição do arquivo e não programa sendmail.

    faça o seguinte, crie u link:
    # cd /usr/lib
    ln -s /usr/sbin/sendmail sendmail

    e tente novamente.

    Pelo que entendi vc quer um script que envia os logs do postfix para o seu email?

    vc pode fazer o seguinte:

    #!/bin/sh
    tail -50 /var/log/maillog >> /tmp/postfix.log
    mail -s "logs do postfix" seu_mail < /tmp/postfix.log

    e coloque no cron para fazer de tempos em tempos.

    tail -50 => são as ultimas 50 linhas


    Uma curiosidade, como que vc fez o script em php para enviar email?

    Boa Sorte!!



  3. #3

    Padrão

    Kra na verdade e um codigo em php que coloquei direto no site:

    <?
    if($_POST["btenvia"]){

    if(sizeof($HTTP_POST_VARS)) {
    $para = "[email protected]";
    $asunto = $_POST['asuntos'];
    $ip = getenv("REMOTE_ADDR");
    $texto = "Mensagem enviada pelo IP: $ip<br><br>";

    while(list($key, $val) = each($HTTP_POST_VARS)) {
    if(($key <> 'assuntos'))
    $texto.= "<b>$key</b> = $val<br>";
    }

    $headers = "MIME-Version: 1.0\r\n".
    "Content-type: text/html; charset=iso-8859-1\r\n".
    "From: \"My Name\" <".$para.">\r\n".
    "To: \"Client\" <".$para.">\r\n".
    "Date: ".date("r")."\r\n".
    "Subject: ".$asunto."\r\n";

    $envia = @mail($para,$asunto,$texto,$headers);
    echo "<script>alert('Sua mensagem foi enviada com sucesso! Em breve estaremos entrado em contatos!')</script>";
    echo "<script>window.location='index.html';</script>";
    }
    }
    ?>

    Quanto a dica do shell, irei testar...

    Valew pela atenção!