Phpmailer

Carlos Moreira

Power Member
Estava a ajudar um colega a fazer uma página php, mas n consigo por o formulario de email a funcionar. a função mail() não parece estar a funcionar.. mesmo depois de feitas as alterações no php.ini.. sempre a testar em localhost, será q num servidor iria funcionar correctamente?

Mas seja como for, avançamos e agora estamos a usar o phpmailer:

http://phpmailer.sourceforge.net/
Está funcionar lindamente no localhost.


A dúvida é:

Irá funcionar nos servidores? Estes têm normalmente o suporte para o phpmailer? No código o phpmailer pede para por o smtp, num servidor este smtp vai funcionar na mesma?

Thks desde já.
 
nada como ir aqui :

http://pt.php.net/mail

de qql maneira deixo-te aki um exemplo:

PHP:
$enviodemail=mail("mail pra onde vai","titulo do mail", "mensagem", "From: email de quem mandou");

if(!$enviodemail){
    error('De momento não foi possivel realizar a sua operação!');
} else {
    echo "O seu pedido foi efectuado, será contactado brevemente!";
}

e vais ao php.ini k deves ter no c:\windows e procuras por isto:
Código:
[mail function]
; For Win32 only.
SMTP = mail.mydomain.com

; For Win32 only.
sendmail_from = [email protected]
e é só mudar... se nao tiveres nenhum servidor de smtp, utiliza um de um mail qualquer que tenhas, por exemplo, se tiveres um mail da sapo no SMTP metes kkl coisa como smtp.sapo.pt (nao tenho a certeza se é este). e testas...

se n conseguires mete online num servidor kkl k normalmente tao smp configurados pra isso funcionar..
 
viva..

a função mail() continua sem funcionar no localhost, mesmo dps das alterações no php.ini e de reiniciar o apache. Tlx seja problema de firewall..

Mas já tive oportunidade de experimentar num servidor e funciona, fico mais descansado, o erro n é meu.

Pra já, como n tenhu acesso ao servidor, terei de trabalhar às escuras, mas como o código é simples, n haverá lugar a muitos erros..

Thks
 
Tenho a impressão que o mail(); só funcionará se tiveres um servidor de mail a funcionar no teu localhost. Por isso é que ele te deve dar erro.
 
BraBo disse:
Tenho a impressão que o mail(); só funcionará se tiveres um servidor de mail a funcionar no teu localhost. Por isso é que ele te deve dar erro.


eu tenho a impressão que não.

Note: The Windows implementation of mail() differs in many ways from the Unix implementation. First, it doesn't use a local binary for composing messages but only operates on direct sockets which means a MTA is needed listening on a network socket (which can either on the localhost or a remote machine).

Second, the custom headers like From:, Cc:, Bcc: and Date: are not interpreted by the MTA in the first place, but are parsed by PHP.

Note: It is worth noting that the mail() function is not suitable for larger volumes of email in a loop. This function opens and closes an SMTP socket for each email, which is not very efficient.

...
 
Back
Topo