+5

Utilizando a Função mail()

criado por Thiago Alves Goulart em 07/04/2003 7:56pm
Para que possamos iniciar a configuração do PHP para aceitar o envio de e-mails precisamos primeiramente localizar o arquivo php.ini em nosso servidor. Independente da plataforma que está sendo utilizada, o arquivo de configuração sempre será o php.ini.

Na plataforma Windows você especificará um servidor de SMTP para que você possa enviar e-mails através de seus scripts. O servidor de SMTP não precisa estar instalado na mesma máquina que o Web server.

Então vamos a parte prática. Abra o arquivo php.ini que deve estar em C:\WINDOWS\ (ou C:\WINT). Depois localize dentro do arquivo o bloco idêntico ao abaixo:

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

; For Unix only.  You may supply arguments as well (default: 'sendmail -t -i').
;sendmail_path =

Observe que todas as linhas estão comentadas, ou seja, estão com um ; (ponto e vírgula) no início das linhas. Para fazer a configuração para Windows você precisará deixar o seu bloco similar ao abaixo:

[mail function]
; For Win32 only.
SMTP = smtp.brturbo.com
sendmail_from =thiago_algo@brturbo.com

; For Unix only.  You may supply arguments as well (default: 'sendmail -t -i').
;sendmail_path =

Note que as duas linhas iniciadas com ';SMTP' e ';sendmail' foram substituídas por linhas iniciadas com 'SMTP' e 'sendmail', ou seja, as linhs foram descomentadas. Além disso foram acrescentados ao final da linha o servidor de SMTP e o email padrão, smtp.brturbo.com e thiago_algo@brturbo.com, respectivamente.

No caso de você estar utilizando Linux (o que é altamentte recomendado) é preciso especificar o caminho do aplicativo sendmail (sendmail_path). Portanto abra o arquivo php.ini, que no meu caso se encontra em /etc/php4/apache/ e descomente a linha onde se encontra o 'sendmail_path'. Adicione ao final desta linha o caminho do aplicativo sendmail que no meu caso se encontra em /usr/lib/postfix/ e pronto. Veja como fica o bloco no meu caso:

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

; For Unix only.  You may supply arguments as well (default: 'sendmail -t -i').
sendmail_path = /usr/lib/postfix/ 

Na próxima página estarei mostrando a utilização básica da função mail().

Comentários:

Mostrando 1 - 10 de 16 comentários
Felipe Matos disse:
Parece que tudo ta funcionando perfeito, aparece a mensagem de sucesso e tal, mas quando eu verifico meu email, pra ver se chegou, n chegou nada, o que pode ser? jah conferi o email e esta correto.

grato.
13/12/2006 6:10am (~10 anos atrás)

Galerinha eh o seguinte: consigo enviar email com a função porém .. quando verifico meus emails eles aparecem com "distorções ortográficas" (substituição de acentos por caracteres especiais). Como faço para corrigir isso ? Agradeço a colaboração de vcs..!!

Abraço !
29/05/2006 7:44pm (~10 anos atrás)

Alguem sabe se tem como pedir confirmação de recebimento usando a função mail()???
30/03/2005 12:28pm (~11 anos atrás)

Thiago Robis disse:
Como enviar uma mensagem HTML através deste script?
27/11/2003 2:27pm (~13 anos atrás)

é o seguinte.
mando o email e tal,
so q na mensagem nao aparece nada.
fica tudo em branco.
oq houve?
02/08/2003 6:42am (~13 anos atrás)

To usando o qmail e a função do php funciona só enviando para email q está dentro da maq, como faço para mandar para foram também ?
21/07/2003 4:02pm (~13 anos atrás)

No meu caso atual estou desenvolvendo a intranet da empresa e existem várias partes desta que necessitam enviar emails.
O problema aparece quando, por uma questão de segurança, o servidor de SMTP da empresa requer autenticação. Como eu conseguiria enviar um email pelo PHP com autenticação no SMTP, com o meu login e senha que seja?
05/06/2003 11:36am (~13 anos atrás)

Galera sou mais um iniciante nesta linguagem e já estou uns 3 dias procurando um jeito de mandar anexos utilizando a função mail() pois o servidor onde hopedo minhas páginas me disse que não tinha condições de instalar outra biblioteca para este fim. Alguém saberia me dizer como devo proceder ou onde encontrar documentação sobre este assunto????
até mais.
02/06/2003 6:26pm (~13 anos atrás)

Pedro Junior disse:
gostaria de saber como faço para usar a função mail() em um servidor q não tenho acesso para configurar o php.ini??????
25/05/2003 8:16pm (~13 anos atrás)

Tenho uma função mail mais quero que ela mande um mail para várias pessoa ao mesmo tempo, como um newsletter, por exemplo. como faço.
20/05/2003 8:14am (~13 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)