View Full Version : função mail


fil79
10-09-2007, 18:11
boas

estou a usar o seguinte script para enviar mail que funciona perfeitamente :


<form action="envia.php" method=post>
Nome: <input type=text name="nome" size=16>
<br>
Email: <input type=text name=email size=16>
<br>
Comentários: <textarea name=coment cols=32 rows=6></textarea>
<br>
<input type=submit value="Enviar">
</form>

<?php
$corpo = "Formulário enviado\n";
$corpo .= "Nome: " . $_POST["nome"] . "\n";
$corpo .= "Email: " . $_POST["email"] . "\n";
$corpo .= "Comentários: " . $_POST["coment"] . "\n";

mail("algo@gmail.com (algo@gmail.com)","Formulário recebido",$corpo);

//agradeço pelo envio
echo"Obrigado por preencher o formulário.<br><a href='contactos.php'>Voltar</a>";

?>



acontece que na caixa de entrada do correio destinatário aparece como Apache...existe alguma maneira de mudar este valor para uma variável inserida no formulário?Desde já agradeço
http://www.portugal-a-programar.org/forum/Themes/safmc1012/images/icons/modify_inline.gif

mascker
10-09-2007, 18:57
Viva,

Deves estar a falar do remente que aparece como apache?!!

Se sim, tens que adiconar um header à função

$header = " FROM: Nome_remetente <email@do_remetente> ";


NOTA: Insere o email entre <>

Depois fica assim

mail("algo@gmail.com (algo@gmail.com)","Formulário recebido",$corpo, $header);

fil79
10-09-2007, 19:44
Obrigado:)

Hostx
03-12-2007, 18:49
Viva,

Deves estar a falar do remente que aparece como apache?!!

Se sim, tens que adiconar um header à função

$header = " FROM: Nome_remetente <email@do_remetente> ";


NOTA: Insere o email entre <>

Depois fica assim

mail("algo@gmail.com (algo@gmail.com)","Formulário recebido",$corpo, $header);

Como é que fica tudo junto?

Com o header na função e o e-mail.

cmmr
03-12-2007, 19:13
$email="email_de_destino";
$assunto="Assunto";
$texto="conteudo do email";
$headers = 'From: o_teu_email' . "\r\n" .
'Reply-To: o_teu_email' . "\r\n" ;

mail($email,$assunto,$texto,$headers);

Hostx
03-12-2007, 19:38
$email="email_de_destino";
$assunto="Assunto";
$texto="conteudo do email";
$headers = 'From: o_teu_email' . "\r\n" .
'Reply-To: o_teu_email' . "\r\n" ;

mail($email,$assunto,$texto,$headers);

Obrigado.

cmmr
03-12-2007, 19:38
anytime ;)

peter alien
03-12-2007, 21:23
Alguém me pode dizer como ficaria se em vez de PHP fosse ASP ou ASP.NET?

Tenho andado a matar a cabeça com um envio do conteudo de um formulario por mail, e ainda não consegui acertar com a coisa :005: não pode é ser em PHP :( ainda tentei sem fazer uso de uma ling. prog. que corresse num servidor, mas nada feito!


Obrigado

fil79
04-12-2007, 10:54
Para fazeres isso tens de usar mesmo uma linguagem web de servidor, isso nunca poderia ser usando uma linguagem interpretada pelo cliente....asp não é o meu forte mas se fores ao google encontras muitos exemplos...ex: http://www.linhadecodigo.com.br/Artigo.aspx?id=40

peter alien
04-12-2007, 11:28
tenho o seguinte código numa página index.aspx no IIS, mas quando corro a página e clico no botão para enviar o conteudo do formulario por mail, quando abro o Outlook não me chega nada :'(


O código é este:


<%@ Page Language="VB"%>
<%@ Import Namespace="System.Web.Mail" %>

<script language="VB" runat="server">
Sub enviar_OnClick(Source As Object, E As EventArgs)
Dim objMail As New MailMessage
Dim uName As String
Dim uEmail As String
Dim uComment As String
If Page.IsValid() Then
uName = name.Text
uEmail = email.Text
uComment = comment.Text
objMail.From = uEmail
objMail.To = "pedro.figueiredo@oky.pt"
objMail.Subject = "Comentários de " & uName
'objMail.BodyFormat = MailFormat.HTML
objMail.Body = "<font face=verdana size=2>" & uComment & "</font>"
enviado.Text = "A sua mensagem foi enviada."
SMTPMail.Send(objMail)
End If
End Sub
</script>

<html>
<head>
</head>
<body>
<form method="post" runat="server">
<asp:Label id="enviado" text="Envie um e-mail:" runat="server" />
<table>
<TR>
<TD ALIGN=RIGHT>
<B>Nome:</B>
</TD>
<TD>
<asp:Textbox id="name" runat="server" size="50" />
</TD>
<TD>
<!--
Esta linha a seguir é um componente do ASP.NET que verifica se o campo foi preenchido corretamente.
-->
<asp:RequiredFieldValidator runat="server" id="reqName" ControlToValidate="name" ErrorMessage = "Você deve fornecer seu nome!"

display="Dynamic" />
</TD>
</TR>
<TR>
<TD ALIGN=RIGHT>
<B>Email:</B>
</TD>
<TD>
<asp:TextBox id="email" size="50" runat="server" />
</TD>
<TD>
<!--
Esta linha a seguir é um componente do ASP.NET que verifica se o campo foi preenchido correctamente.
-->
<asp:RequiredFieldValidator runat="server" id="validEmailRequired" ControlToValidate="email" errormessage="Por favor introduzao

seu endereço de email." display="Dynamic" />
</TD>
</TR>
<TR>
<TD ALIGN=RIGHT>
<B>Comentário:</B>
</TD>
<TD>
<asp:TextBox id="comment" TextMode="MultiLine" Rows="5" Columns="30" runat="server" />
</TD>
<TD>
</TD>
</TR>
<TR>
<TD COLSPAN=3 ALIGN=CENTER>
<asp:Button id="enviar" text="Enviar" OnClick="enviar_OnClick" runat="server" />
</TD>
</TR>
</table>
</form>
</body>
</html>



Alguem me pode ajudar?