• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

ApolloPT

mail()

14 mensagens neste tópico

Olá pessoal,

Gostava de saber porque é que o comando mail() não está a funcionar!

//<?php require "config.ini"; ?>
<?php
// Verifica se O Campo nome tá preenchido
if (empty($nome)){
// HTML que aparecera o ERRO
echo "<html><head><title>Ocorreu Um ERRO !!!</title></head>";
echo "<body bgcolor=\"#ffffff\">";
echo "<br><br><br>";
echo "<center>É Necessario o Preenchimento do <b>Nome</b></center>";
echo "<br><br><center><a href=\"javascript:history.back(1)\">Volta</a></center>";
echo "</body></html>";
}
// Verifica o Campo E-mail Tá preenchido
elseif (empty($email)){
// HTML que aparecera o ERRO
echo "<html><head><title>Ocorreu Um ERRO !!!</title></head>";
echo "<body bgcolor=\"#ffffff\">";
echo "<br><br><br>";
echo "<center>O E-mail não foi <b>Digitado</b></center>";
echo "<br><br><center><a href=\"javascript:history.back(1)\">Volta</a></center>";
echo "</body></html>";
}
// Verifoca Se o E-mail Contem @
elseif (!(strpos($email,"@")) OR strpos($email,"@") !=strpos($email,"@")) {
// HTML que aparecera o ERRO
echo "<html><head><title>Ocorreu Um ERRO !!!</title></head>";
echo "<body bgcolor=\"#ffffff\">";
echo "<br><br><br>";
echo "<center>O E-mail <b>Não</b> é <b>válido</b></center>";
echo "<br><br><center><a href=\"javascript:history.back(1)\">Volta</a></center>";
echo "</body></html>";
}
// Verifica se o Campo Está Preenchido
elseif (empty($assunto)){
// HTML que aparecera o ERRO
echo "<html><head><title>Ocorreu Um ERRO !!!</title></head>";
echo "<body bgcolor=\"#ffffff\">";
echo "<br><br><br>";
echo "<center>Você <b>Não</b> Digito Um <b>Assunto</b></center>";
echo "<br><br><center><a href=\"javascript:history.back(1)\">Volta</a></center>";
echo "</body></html>";
}
// Verifica se o Campo Mensagem tá preenchido
elseif (empty($mensagem)){
// HTML que aparecera o ERRO
echo "<html><head><title>Ocorreu Um ERRO !!!</title></head>";
echo "<body bgcolor=\"#ffffff\">";
echo "<br><br><br>";
echo "<center>Você <b>Não</b> Digito Uma <b>Mensagem</b></center>";
echo "<br><br><center><a href=\"javascript:history.back(1)\">Volta</a></center>";
echo "</body></html>";
}
else{
// Comfirma o Envio Do E-mail
//if ($certo== "1"){
// Função de envio Do E-mail
mail("$emaildest","$assunto","Nome:$nome\n Email:$email\n Mensagem:$mensagem\n IP:$REMOTE_ADDR\n\n","From:$nome<$email>");
}

// HTML do redirecionameto e se não redirecionar aparece um link
echo "<html><head>";
echo "<meta http-equiv=\"refresh\" content=\"0;url=$redirecionar\">";
echo "<title>Redirecionado ...</title>";
echo "</head><body bgcolor=\"#ffffff\">";
echo "<a href=\"$redirecionar\" target=\"_top\">Volta Para O Site</a>";
echo "</body></html>";
}
?>

<html>
<head>
<title>For Mail em PHP</title>
</head>
<body bgcolor="#ffffff">

<form action="formail.php" method="POST">
<input type="hidden" name="emaildest" value="xxx@sapo.pt"><!-- e-mail do destinatario -->
<input type="hidden" name="redirecionar" value="http://www.google.pt"><!-- Endereço para onde Vai depois de enviar o formulario -->
<center>
<table width="40%" bgcolor="#000000" border="0" align="center" cellspacing="0" cellpadding="1">
<tr>
<td>
<table width="50%" bgcolor="#ffffff" border="0" align="center" cellspacing="0" cellpadding="3">
<tr>
<td>Nome:</td><td><input type="text" size="30" name="nome" value=""></td>
</tr>
<tr>
<td>E-mail:</td><td><input type="text" size="30" name="email" value=""></td>
</tr>
<tr>
<td>Assunto:</td><td><input type="text" size="30" name="assunto" value=""></td>
</tr>
<tr>
<td>Mensagem:</td><td><textarea cols="30" rows="10" name="mensagem"></textarea></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value=" Enviar "> <input type="reset" value=" Limpar "></td>
</tr>
</table>
</td>
</tr>
</table>
</center>
</form>

</body>
</html>  

A única coisa que não está a funcionar é o comando mail() e não percebo o porquê  :hmm:. Será que alguém me pode ajudar?

P.S. O PHP foi sacado mas percebo um pouco!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Algum erro?

O único é não enviar nada para o meu mail e não sei o porquê! Tenho o comando em ordem e não sei porque não envia nada :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não tens servidor SMTP configurado.

Pois não :S

Não me lembrei desse pequeno pormenor lol

obrigado djthyrax :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não tens servidor SMTP configurado.

Mas existe forma de o configurar sem ser pelo php.ini? Na própria função, utilizando mais um parâmetro?

Cumps,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

basta teres 1 servidor SMTP instalado e correr no sistema,penso eu.

porque eu tenho como tu tens e manda emails na boa :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas existe forma de o configurar sem ser pelo php.ini? Na própria função, utilizando mais um parâmetro?

Cumps,

Acho que com o ini_set, apenas...
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Hmm ok, mas posso enviar através de um servidor de SMTP existente não? Tipo o do sapo ou assim. Era isso que queria saber, se dá pra definir o endereço SMTP de um server existente ou não.

Mas a instalação de um servidor SMTP também é boa ideia. Alguém em aconselha um bom? De preferência gratuito.

Cumps,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que podes, dá uma olhada as configurações que existem no php.ini

Para servidor SMTP, tens o sendmail p.e.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Aconselhava a usares phpmailer que é mais fácil basta procurares um bocadinho que arranjas sites como este em que explica como o usar.

Cumps andreb

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mas como é que configuro o SMTP e qual?

tenho de instalar??

eu gostava de fazer a mesma coisa, e tenho o wamp instalado ;)

apache, php, e mysql....

mas não faço a minima como se faça isso...

eu no php.ini tenho:

[mail function]

; For Win32 only.

SMTP = localhost

smtp_port = 25

; For Win32 only.

sendmail_from = meu_mail@hotmail.com

tenho de mudar o SMTP né?

ponho qual?

depois já funka?

podem ajudar?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

experimrnta instalar o iis, ele tem um servidor de smtp, não sei é se vai enviar email sem dominio nunca tentei.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora