Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. #1
    isabele
    Visitante

    Padrão envio de e-mail php linux

    Oi gente!
    Preciso muito de uma ajuda...
    Estou trabalhando com servidor linux. Já instalei o sendmail e configurei o php.ini, mas está dando erro ao enviar e-mail....

    Erro:
    Fatal error: Call to undefined function: mail() in /usr/local/apache/htdocs/geosuas/fale_conosco.php on line 83

    PHP:
    mail("[email protected]","teste","teste",$cabecalho);

    php.ini
    ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    sendmail_path = \usr\sbin\sendmail

    :toim: O q eu toh fazendo errado? Falta configurar mais alguma coisa?

  2. #2

    Padrão envio de e-mail php linux

    errr :sendmail_path = \usr\sbin\sendmail

    sendmail_path = /usr/sbin/sendmail -t -i

    e a funcao do mail precisa de mais alguns ajustes, usa esse exemplo:

    Código :
    $headers = "MIME-Version: 1.0\nFrom:[email protected]: text/html; charset=us-ascii";    
    mail($email,$titulo,$mensagem,$headers) or die("Não enviou");

  3. #3
    Isabele
    Visitante

    Padrão mail PHP

    Fiz as alterações e continua dando o mesmo erro...

    Fatal error: Call to undefined function: mail() in /usr/local/apache/htdocs/geosuas/fale_conosco.php on line 86

    :cry:

  4. #4

    Padrão envio de e-mail php linux

    tem como vc passar o link de uma pagina com o
    phpinfo() pra gente da uma olhada?

  5. #5
    isabele
    Visitante

    Padrão phpinfo()

    Oi bom dia!

    Desculpe a ignorância... (sou iniciante em php e linux) mas como faz pra aparecer o phpinfo()? É uma página pra ver as configurações do servidor neh?


  6. #6

    Padrão envio de e-mail php linux

    issu mesmo,
    basta criar uma pagina .php com o codigo:

    <?
    phpinfo();
    ?>

  7. #7
    isabele
    Visitante

    Padrão phpinfo

    Oi,

    Acesse o link pra ver o phpinfo:


    http://200.155.74.5/geosuas/phpinfo.php


    Mas eu já vi que tá errado...

    sendmail_from no value no value
    sendmail_path [email protected] [email protected]

    Estranho... porque eu cofigurei o php.ini (/usr/local/lib/php.ini) do jeito q vc disse...

  8. #8

    Padrão envio de e-mail php linux

    só uma pergunta, vc tem um servidor smtp em seu server?

  9. #9

    Padrão envio de e-mail php linux

    eh issu aki ta invertido:

    sendmail_from no value no value
    sendmail_path [email protected] [email protected]

    teria q ser
    sendmail_from [email protected]
    sendmail_path no value no value (ou o path do sendmail)

    vc reiniciou o apache depois de fazer as alteracoes?

  10. #10
    isabele
    Visitante

    Padrão envio de e-mail php linux

    Oi gente,

    Eu instalei o servidor de smtp no servidor sim...

    Reiniciei o apache... ops:

    http://200.155.74.5/geosuas/phpinfo.php

    e agora o php.ini tah certo mas....

    ainda tah dando o mesmo erro!!!

    Fatal error: Call to undefined function: mail() in /usr/local/apache/htdocs/geosuas/fale_conosco.php on line 86

  11. #11

    Padrão envio de e-mail php linux

    Ta dando a impressao que o php nao reconheceu que tem um smtp instalado.... vc compilou o php antes ou depois de instalar o smtp?

  12. #12

    Padrão Re: Call to undefined function: mail()

    Isabele, isso pode estar acontecendo pelo seguinte motivo:

    Pode ser que você tenha compilado o php (instalado) antes do sendmail, isso faria com que o php fosse compilado sem a função mail().

    Agora que o seu sendmail já está instalado e configurado, re-instale o php que ele funciona.

    Espero ter ajudado,
    :good:
    --
    Abraços!
    Lauro Gatz

  13. #13

    Padrão envio de e-mail php linux

    call to undefined function .... simples isso, a funcao nao ta definida, o php nao tem suporte a funcao mail, veja como voce faz para colocar ela de volta, vcs jah ajeitaram as confs dela, agora falta ajeita ro php em si... tme que pasasr mais informacao... se compilou, usou apt-get, etc etc qual distro...

  14. #14
    isabele
    Visitante

    Padrão envio de e-mail php linux

    Oi eu de novo!

    Reinstalei o php no servidor linux e adivinhem... não funcionou!

    :cry:

    o que mais falta eu testar??? como configura o sendmail??? serah q eh isso q tah errado?

  15. #15

    Padrão envio de e-mail php linux

    Isabele... eu recomendaria a você fazer o seguinte...

    1) Remova o SendMail;
    2) instale o postfix (é mais simples, é só instalar, se for pra usar somente com scripts e pra envio simples de mensagem, vai funcionar na boa, você só terá que fazer configuraçõe mais complicadas caso queira fazer algo mais específico... mais ai o ideal seria um QMail... mais ai é outra história...);

    3) instale novamente o php, no php.ini é só deixar configurado como está, se estava correto para o sendmail ele vai rolar na boa com o postfix.

    Isso normalmente rola de primeira sem sacrifícios.


    --
    Abraços!
    Lauro Gatz

  16. #16
    isabele
    Visitante

    Padrão envio de e-mail php linux

    Boas novas!

    Não tá dando mais aquele erro "call to undefined function". O cara do suporte não tinha reinstalado direito o php, agora sim ele reinstalou...

    Mas o e-mail não está chegando ao destinatário...

    E agora o q deve ser? Problema de configuração? Tenho q olhar o log de erro neh?

    Valeu pela ajuda! Estou quase lah....

    Isabele.

  17. #17

    Padrão envio de e-mail php linux

    Opá... então está mais fácil agora... seguinte:

    faz um

    # tcpflow -c port 25

    E com o comando rodando você roda o seu script e veja... o que estiver rolando o tcpflow escuta e te mostra...

    se for alguma falha de comunicação do smtp ele te mostra o que q tá rolando...

    Outra coisa, o seu php.ini na área do mail veja se está configurado certinho... normalmente nas máquinas que eu configuro deixo dessa forma:

    [mail function]
    ; For Win32 only.
    SMTP = localhost

    ; For Win32 only.
    sendmail_from = me@localhost

    ; For Unix only. You may supply arguments as well (default: 'sendmail -t -i').
    ;sendmail_path = /usr/sbin/sendmail -t -i
    Normalmente é isso... e tudo funfa numa boa... :good:
    --
    Abraços!
    Lauro Gatz

  18. #18

    Padrão envio de e-mail php linux

    pede pro responsavel ai olhar no maillog oq acontece qdo vc envia a msg, agora deve ser alguma configuracao do email

  19. #19
    isabele
    Visitante

    Padrão envio de e-mail php linux

    Aih não toh mais aguentando...
    Não dá certo esse negocio de email...

    Lembra q eu disse q nao tava dando mais aquele erro? (Fatal error: Call to undefined function: mail())... Pois eh, não sei pq de uma hora pra outra voltou a dar esse erro...

    Aih eu segui a dica do LaGatz... o pessoal do suporte removeu o sendmail e instalou o postfix. Mas tb nao deu certo... Voltou a dar o mesmo erro: Fatal error: Call to undefined function: mail()

    Serah q tem q configurar alguma coisa no php na hora de instalar??? Pra poder mandar email?
    Essa tah dificil hein?!

    Isa.

  20. #20

    Padrão envio de e-mail php linux

    tem q ter o MTA instalado antes, soh isso,
    bom pede pra els compilarem o php assim:

    Código :
    /configure --prefix=/usr \
                --sysconfdir=/etc \
                --with-apxs2 \
                --with-config-file-path=/etc \
                --with-zlib \
                --enable-bcmath \
                --with-bz2 \
                --enable-calendar \
                --enable-dba \
                --enable-exif \
                --enable-ftp \
                --with-gettext \
                --with-iconv \
                --enable-mbstring \
                --with-ncurses \
                --with-readline \
                --disable-libxml &&
    make&&
    make install &&
    cp -v php.ini-recommended /etc/php.ini