Foros del Web » Programando para Internet » PHP »

Mail.php

Estas en el tema de Mail.php en el foro de PHP en Foros del Web. Hola buenos días: A continuación el código que tengo en una pagina web que estoy haciendo, es del formulario de contacto. Quisiera que me indicaran ...
  #1 (permalink)  
Antiguo 10/09/2014, 09:29
 
Fecha de Ingreso: julio-2014
Ubicación: Donde me lleve el tiempo
Mensajes: 45
Antigüedad: 9 años, 9 meses
Puntos: 0
Mail.php

Hola buenos días:
A continuación el código que tengo en una pagina web que estoy haciendo, es del formulario de contacto.
Quisiera que me indicaran como debo proceder para que este formulario me envíe los mails que recibe la pagina por este formulario.

<?php

//SMTP server settings
$host = "smtp.host.com";
$port = "587";
$username = "";
$password = "";


$messageBody = "";

if($_POST['name']!='false'){
$messageBody .= '<p>Visitor: ' . $_POST["name"] . '</p>' . "\n";
$messageBody .= '<br>' . "\n";
}
if($_POST['name']!='false'){
$messageBody .= '<p>Country: ' . $_POST["country"] . '</p>' . "\n";
$messageBody .= '<br>' . "\n";
}
if($_POST['email']!='false'){
$messageBody .= '<p>Email Address: ' . $_POST['email'] . '</p>' . "\n";
$messageBody .= '<br>' . "\n";
}else{
$headers = '';
}
if($_POST['state']!='false'){
$messageBody .= '<p>State: ' . $_POST['state'] . '</p>' . "\n";
$messageBody .= '<br>' . "\n";
}
if($_POST['phone']!='false'){
$messageBody .= '<p>Phone Number: ' . $_POST['phone'] . '</p>' . "\n";
$messageBody .= '<br>' . "\n";
}
if($_POST['fax']!='false'){
$messageBody .= '<p>Fax Number: ' . $_POST['fax'] . '</p>' . "\n";
$messageBody .= '<br>' . "\n";
}
if($_POST['message']!='false'){
$messageBody .= '<p>Message: ' . $_POST['message'] . '</p>' . "\n";
}

if($_POST["stripHTML"] == 'true'){
$messageBody = strip_tags($messageBody);
}

if($host=="" or $username=="" or $password==""){
$owner_email = $_POST["owner_email"];
$headers = 'From:' . $_POST["email"] . "\r\n" . 'Content-Type: text/plain; charset=UTF-8' . "\r\n";
$subject = 'A message from your site visitor ' . $_POST["name"];

try{
if(!mail($owner_email, $subject, $messageBody, $headers)){
throw new Exception('mail failed');
}else{
echo 'mail sent';
}
}catch(Exception $e){
echo $e->getMessage() ."\n";
}
}else{
require_once 'Mail.php';

$to = $_POST["owner_email"];
$subject = 'A message from your site visitor ' . $_POST["name"];
$headers = array (
'From' => 'From:' . $_POST["email"] . "\r\n" . 'Content-Type: text/plain; charset=UTF-8' . "\r\n",
'To' => $to,
'Subject' => $subject);

$smtp = Mail::factory(
'smtp',
array (
'host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password));

$mail = $smtp->send($to, $headers, $messageBody);

try{
if(PEAR::isError($mail)){
echo $mail->getMessage();
}else{
echo 'mail sent';
}
}catch(Exception $mail){
echo $mail->getMessage() ."\n";
}
}
?>

A todos muchas gracias
JdelRosario
  #2 (permalink)  
Antiguo 10/09/2014, 09:39
Avatar de odiseus  
Fecha de Ingreso: enero-2011
Mensajes: 109
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: Mail.php

Hola jdelrosario,

Realmente cuál es el error que te está reproduciendo la página?

Con el error podría ayudarte mejor.

Si quieres algún script más sencillo puedes adaptarlo a tu gusto. Por ejemplo buscando en google me aparece lo siguiente:

http://es.kioskea.net/faq/10887-como...ail-usando-php

Si quieres también es interesante que veas la libreria PhpMailer ya que puede que en tu hosting o servidor tengas la función mail desactivada por falta de seguridad.

Aquí puedes obtener buena ayuda sobre PhpMailer

http://www.teayudamos.net/phpmailer-...-editando-aun/

Un saludo!
__________________
--------
Unelink - Servidores virtuales (VPS), servidores dedicados, hosting, dominios.
Blog de unelink
  #3 (permalink)  
Antiguo 10/09/2014, 09:46
 
Fecha de Ingreso: julio-2014
Ubicación: Donde me lleve el tiempo
Mensajes: 45
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Mail.php

Mil gracias por la respuesta ya me pongo a estudiar un poco!!

Etiquetas: formulario, html, mail-php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:10.