Foros del Web » Programando para Internet » PHP »

Problema Ubuntu, LAMP, formularios, envios

Estas en el tema de Problema Ubuntu, LAMP, formularios, envios en el foro de PHP en Foros del Web. Un saludo a todos pues hace algo de tiempo que no pasaba por aqui. Tengo un server con Ubuntu y LAMP, ademas he instalado sendmail. ...
  #1 (permalink)  
Antiguo 12/06/2012, 09:28
Avatar de manyblue  
Fecha de Ingreso: marzo-2008
Mensajes: 329
Antigüedad: 16 años, 7 meses
Puntos: 10
Problema Ubuntu, LAMP, formularios, envios

Un saludo a todos pues hace algo de tiempo que no pasaba por aqui.
Tengo un server con Ubuntu y LAMP, ademas he instalado sendmail.

En los furmularios que hago la accion es un php con la funcion mail de php y no consigo que mande los formularios.

Un saludo: Manyblue
  #2 (permalink)  
Antiguo 12/06/2012, 09:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Problema Ubuntu, LAMP, formularios, envios

¿Tienes habilitado y configurado tu servidor local de SMTP?

¿Ya intentaste usar la linea de comandos para comprobarlo?

¿El código que usas comprueba la respuesta de mail()?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 12/06/2012, 13:44
Avatar de manyblue  
Fecha de Ingreso: marzo-2008
Mensajes: 329
Antigüedad: 16 años, 7 meses
Puntos: 10
Respuesta: Problema Ubuntu, LAMP, formularios, envios

A ver te explico un poco.
Instalación:
Ubuntu 11.04
LAMP server con bastantes mas extensiones para php
MYSQ y phpmyadmin
Sendmail

Ademas tengo habilitados a este server 3 dominios con sus virtualhost funcionando, esto se hace en /ect/apache2/sitesavalable, se crea y con el comando "a2ensites pepito.com.
Aqui el httpd.conf casi esta en blanco solo habilitar el localhost na mas.

En /etc/php5/apache2/php.ini esta el meollo de la cuestion, la seccion de [mail]

Código:
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
; sendmail_from = [email protected]
; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path =/usr/sbin/sendmail
; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =
; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = On
; The path to a log file that will log all mail() calls. Log entries include
; the full path of the script, line number, To address and headers.
;mail.log =
El puerto 25 está habierto y redirigido al server.......

Tengo mas server pero no me acuerdo y perdi los archivos de como lo hice pero si mal no me acuerdo era algo charset en mi php.ini esta desabilitado comentado y en /etc/apache2/conf.d/charset/ esta desabilitado comentado tambien, mis documentos estan en UTF-8 creo que cuando los cambie a iso-8859-1 se pudieron mandar los formuñlarios, no se ahora, se que deberia instalar pop3 imap y configurar sendmail pero tambien se que php puede por si mismo enviar los formularios.

espero consejos.

Muchas gracias de antemano: Un saludo
  #4 (permalink)  
Antiguo 12/06/2012, 14:07
Avatar de manyblue  
Fecha de Ingreso: marzo-2008
Mensajes: 329
Antigüedad: 16 años, 7 meses
Puntos: 10
Respuesta: Problema Ubuntu, LAMP, formularios, envios

Formulario en pagina codificacion UTF-8:

Código:
<form action="enviar_contacto.php" method="post" id="formulariocontacto">
            <p><strong>Nombre:</strong><br>
            <label for="nombre"></label>
            <input name="nombre" type="text" id="nombre" onBlur="MM_validateForm('nombre','','R','email','','RisEmail','asunto','','R','texto','','R');return document.MM_returnValue">
            <span class="rojo">(*)</span><br>
            <strong>E-mail:</strong><br>
            <label for="email"></label>
            <input type="text" name="email" id="email">
            <span class="rojo">(*)</span><br>
            <strong>Asunto:</strong><br>
            <label for="asunto"></label>
            <input type="text" name="asunto" id="asunto">
            <span class="rojo">(*)</span><br>
            <strong>Teléfono:</strong><br>
            <label for="telefono"></label>
            <input type="text" name="telefono" id="telefono">
            <br>
            <br>
            <strong>Texto: </strong><br>
            <label for="texto"></label>
            <textarea name="texto" id="texto" cols="40" rows="5"></textarea>
&nbsp;            <span class="rojo">(*)</span><br>
<br>
          </p>
            <p>
  <input name="submit" type="submit" id="submit" onClick="MM_validateForm('nombre','','R','email','','RisEmail','asunto','','R','texto','','R');return document.MM_returnValue" value="Enviar">
              &nbsp;
              <input name="reset" type="reset" id="reset" tabindex="5" value="Restablecer">
          </p>
            </p>
          <p>&nbsp;</p>
          <p class="rojo">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="formulario"><strong>Nota:</strong> </span>(*) Campos obligatorios&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
        </form>
enviar_contacto.php

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<body>
<?php
 $dia=date("d.m.Y");
 $hora=date("H:i:s");
 $nombre = $_POST['nombre']; 
 $email = $_POST['email'];
 $telefono = $_POST['telefono']; 
 $asunto = $_POST['asunto'];
 $texto = $_POST['texto'];
 $destinatario=[email protected];
 $subject= "FORMULARIO CONTACTO OUTDOORLIVE.TV";
 $desde = 'Desde: ' . $emai;
 $contingut = "
 El mensaje se a enviado el dia: $dia a las: $hora\n\n 
----------------------------------------------------------------------------\n
 Nombre: $nombre\n
 Email:  $email\n
 Telefono:  $telefono\n
 Asunto:  $asunto \n
 Texto:  $texto\n
 ----------------------------------------------------------------------------\n
 ";
 mail($destinatario, $subject, $contingut, $desde); 
 ?>
 
<a href="contacto.php">Volver a la pagina anterior</a>
</body>
</html>
tengo otro enviar contacto:

Código:
<?php
$from = '[email protected]'; 
$subject = 'FORMULARIO DE CONTACTO';
$nombre = $_POST['nombre']; 
$email = $_POST['email']; 
$telefono = $_POST['telefono']; 
$asunto = $_POST['asunto'];
$texto = $_POST['texto']; 
$message = 'DE : ' . $nombre . '
 
E-MAIL : ' . $email . '
 
TELEFONO : ' . $telefono . '
 
ASUNTO : ' . $asunto . ' 
TEXTO : ' . $texto;
$email = '[email protected]' ; 
$headers = "From: ". $from . "\n";
mail ($email, $subject, $message, $header); 
header('Location: http://www.xxxxxxx.com/contacto.php'); 
?>
Pero nada no consigo enviar los formularios.

Gracias de antemano.

Un saludo
  #5 (permalink)  
Antiguo 12/06/2012, 14:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Problema Ubuntu, LAMP, formularios, envios

Cita:
Iniciado por manyblue Ver Mensaje
[...] pero tambien se que php puede por si mismo enviar los formularios.
En eso te equivocas completamente, php no es un servidor de correo, lo que hace la función mail() es simplemente comunicar el mensaje al servidor de correo local.

Si no tienes un servidor de correo habilitado y configurado no va a pasar nada.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 12/06/2012, 16:12
Avatar de manyblue  
Fecha de Ingreso: marzo-2008
Mensajes: 329
Antigüedad: 16 años, 7 meses
Puntos: 10
Respuesta: Problema Ubuntu, LAMP, formularios, envios

yo te digo que si ya lo he visto y recibo el correo como www worl widw web te los puedo mostrar pero bueno vere a ver si instalat pop3 curier y imap curier con sendmail que ya esta instalado, lo que pasa es que creo que sendmail s jodido de configurar.

Otra opcion seria postfix + imap curier + pop3 curier

comentario ???

Una ayuda sobre esto ???

Un saludo
  #7 (permalink)  
Antiguo 12/06/2012, 16:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Problema Ubuntu, LAMP, formularios, envios

¿El servidor LAMP que estás configurando es para producción o desarrollo?

Si es para desarrollo no deberías preocuparte por eso, usa PHPMailer.

Si es para producción te recomiendo usar Sendgrid, o en dado caso PHPMailer con tu SMTP favorito.

A lo que voy es que no tienes ningún problema de programación en php, por lo que cualquier duda relacionada con programas binarios y/o configuración del servidor salen de este foro.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 13/06/2012, 00:37
Avatar de manyblue  
Fecha de Ingreso: marzo-2008
Mensajes: 329
Antigüedad: 16 años, 7 meses
Puntos: 10
Respuesta: Problema Ubuntu, LAMP, formularios, envios

No se a que te refieres con lo de produccion a desarrollo ??
En este servidor php trabaja de puta madre sin problemas.
Si, si que he enviado correos sin nada mas que sendmail con la funcion mail() de php y los recibia con el remitente como www, tio te lo aseguro, lo que pasa es que de repente despues de hace tiempo todo se ha venido al carajo y ningu formulario se envia no se lo que esta pasando.

servidor de correos:
lo que conozco son estos tandem:
sendmail + imap curier + pop3 curier
postfix + imap curier + pop3 curier

Sendgrid, ?? no lo conozco pero puedo mirarlo, puedes intruducirme algo ??.

La empresa para la que trabajo ya tenia cuando llege un server de correos con ruindows server y IBM lotus.

Por el momento no necesitaria server de correos si puedo enviar los formularios pero te agradeceria asesoria con Sendgrid.

Código:
Si es para desarrollo no deberías preocuparte por eso, usa PHPMailer.
Como uso PHPMailer ??

En este server tambien tengo instalado el motor java "java JDK que inclulle java JRE" pues tengo instalado tambien un server de video con Red5.

un saludo y muchisimas gracias por tu atencion.
  #9 (permalink)  
Antiguo 13/06/2012, 01:04
Avatar de manyblue  
Fecha de Ingreso: marzo-2008
Mensajes: 329
Antigüedad: 16 años, 7 meses
Puntos: 10
Respuesta: Problema Ubuntu, LAMP, formularios, envios

Bueno he encontrado en el centro de software de ubunt PHPMailer:

Many PHP developers utilize email in their code. The only PHP function that supports this is the mail() function. However, it does not expose any of the popular features that many email clients use nowadays like HTML-based emails and attachments. There are two proprietary development tools out there that have all the functionality built into easy to use classes: AspEmail(tm) and AspMail. Both of these programs are COM components only available on Windows.

PhpMailer implements the same methods (object calls) that the Windows-based components do.

Class Features:

Send emails with multiple TOs, CCs, BCCs and REPLY-TOs

Redundant SMTP servers

Multipart/alternative emails for mail clients that do not read HTML email

Support for 8bit, base64, binary, and quoted-printable encoding

Uses the same methods as the very popular AspEmail active server (COM) component

SMTP authentication

Native language support

Word wrap


Ya lo instale ahora no se lo que hacer.

Un saludo
  #10 (permalink)  
Antiguo 13/06/2012, 01:11
Avatar de manyblue  
Fecha de Ingreso: marzo-2008
Mensajes: 329
Antigüedad: 16 años, 7 meses
Puntos: 10
Respuesta: Problema Ubuntu, LAMP, formularios, envios




En realidad es una libreria o extension de php:

libphp-phpmailer

Última edición por manyblue; 13/06/2012 a las 01:18
  #11 (permalink)  
Antiguo 13/06/2012, 02:14
Avatar de manyblue  
Fecha de Ingreso: marzo-2008
Mensajes: 329
Antigüedad: 16 años, 7 meses
Puntos: 10
Respuesta: Problema Ubuntu, LAMP, formularios, envios

OK como te dije phpmailer esta instalado en:

/usr/share/php/libphp-phpmailer

Ahora creo que hay que ponerlo en la funcion [mail] de php.ini ???

Un saludo
  #12 (permalink)  
Antiguo 13/06/2012, 08:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Problema Ubuntu, LAMP, formularios, envios

A decir verdad no sabía que se podía instalar PHPMailer desde el centro de software, parece bueno. Si encuentras las documentación de como usarlo de ese modo nos avisas.

Sin embargo yo estaba acostumbrado a usar PHPMailer como librería en php, incluirla en el código y utilizarla. Sendgrid es un servicio para correo, y también puedes usar PHPMailer para conectarte, etc.

http://sendgrid.com/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 13/06/2012, 11:55
Avatar de manyblue  
Fecha de Ingreso: marzo-2008
Mensajes: 329
Antigüedad: 16 años, 7 meses
Puntos: 10
Respuesta: Problema Ubuntu, LAMP, formularios, envios

buuuufffffffffffffff jajajajaja este tema creo que lo he posteado algunas veces por aqui desde hace tiempo, jamas he conseguido respuestas.

Tengo un server con ubuntu 10.9, otro con, 11.04, otro con, 11.10 jajajaja y en todos accediendo en la pestaña del centro de software de ubuntu tecleas phpmailer y te sales le das a instalar y zas ya esta, sus archivos en /usr/share/php/libphp-phpmailer
no dentro de /usr/share/php5/

Creo que phpmailer es un agente que envia a otro servidor de correos como el de gmail o hotmail etc, si es asi no es lo que busco las sentencias php podrian ser asi:

[PHP]
<?php

require("class.phpmailer.php");

//------------------------------------------------------

$correo_destino="[email protected]"; //a que correo llega

$nombre_destino="britney maría"; //nombre de quien recibe

$correo_emisor="[email protected]"; //tu correo

$nombre_emisor="hugotuxsv"; //tu nombre

$contrasena="contrasena"; //contraseña de tu usuario

//--------------------------------------------------------

$mail= newPHPMailer();

$mail->IsSMTP(); // Envia el correo via SMTP

$mail->SMTPAuth = true; // Enciende laautenticacion SMTP

$mail->Username = $correo_emisor; // UsuarioSMTP

$mail->Password = $contrasena; // ContrasenaSMTP

$mail->From = $correo_emisor;

$mail->FromName = $nombre_emisor; //Nombre del que envia el correo

$mail->AddAddress($correo_destino,$nombre_destino);

$mail->AddReplyTo($correo_emisor,$nombre_emisor);

$mail->WordWrap = 50; // Word wrap

$mail->IsHTML(true); // Enviar como HTML

$mail->Subject = "Correo por phpmailer"; //Asunto

$mail->Body = 'Es el cuerpo del mensaje en HMTL'; //Cuerpo en HMTL

$mail->AltBody = ""; //Cuerpo en Texto plano

if(!$mail->Send()){

echo"Error:".$mail->ErrorInfo;

}else{

echo"ElCorreo se ha enviado satisfactoriamente";

}

?>
[/PHP]

De todas formas en este server tengo instalado webmin el cual me deja gestionar tanto sendmail como phpmailer, te lo puedo mostrar pero no me entero muy bien todavia que hacer.

Te digo antes solo poniendo la direccion de sendmail en [mail] en mi php.ini smtp localhost y puerto 25 y mi web enviava los formulario con remitente www (world wide web), no se. Pero para eso estava todo apache y php con iso-8859-1 creo no me acuerdo bien debo cambiar esto a ver y poner los documentos web iso, no se. Mira esto:
http://www.daniweb.com/web-developme...dmail-tutorial
Yo estoy usando POST n GET lo probare con UTF-8 a ver.

He encontrado un tuto genial para instalar esto (sendmail lo desinstalo cuando quiera):

Postfix is the mail transfer agent (MTA) responsible for accepting new messages and storing them on your server as well as allowing authorised users to send e-mail.
Courier sits in front of Postfix and provides an IMAP and POP3 interface for clients to connect to.
SASL with SSL and TLS allows you to authenticate and communicate with the mail server securely.
SpamAssassin will analyse your e-mails as they arrive and will filter out what it thinks is spam.
ClamAV will scan e-mails for viruses before delivering it to your inbox.
Amavis ties SpamAssasin and ClamAV together, and is itself hooked into Postfix.
MySQL will be used to manage user accounts and e-mail forwarding.

Alguna sugerencia de como plantearme el enviar formularios y correos desde mi web con php o o no con java script ??????

Un saludo

Última edición por manyblue; 14/06/2012 a las 00:43
  #14 (permalink)  
Antiguo 14/06/2012, 14:51
Avatar de manyblue  
Fecha de Ingreso: marzo-2008
Mensajes: 329
Antigüedad: 16 años, 7 meses
Puntos: 10
Respuesta: Problema Ubuntu, LAMP, formularios, envios

Bueno en fin, comencemos de cero.

OK entendido que para que la funcion mail() de php envie los correos es necesario un agente que lo haga, existen muchos pero escojo el de toda la vida sendmail, lo tengo instalado junto con phpMailer y hay otros como postfix etc, bueno lo dicho con send mail pero a ver si me ayudais.

Se supone tener apache, php y mysql bajo ubuntu.

Lo primero que hay que hacer despues de instalar send mail es ir al php.ini de nuestro sistema con LAMP Server esta en /etc/php5/apache2/php.ini, ahi nos vamos a la linea que ponga [mail function] , aqui en:

Código:
mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
; sendmail_from = [email protected]

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path =/usr/sbin/sendmail -i -t

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =

; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = On

; The path to a log file that will log all mail() calls. Log entries include
; the full path of the script, line number, To address and headers.
;mail.log =
En el php.ini busco la linea:

default_charset = "iso-8859-1"

Ahora pongo /etc/apache2/conf.d/charset lo edito y pongo:

AddDefaultCharset iso-8859-1

guardo todo y reinicio apache

Ahora deben venir las modificaciones de sendmail.cf creo ya miro y seguimos y otra vez corregidme si me equivoco pues este tema debo resolver de alguna manera.

Un saludo


Ayudadme a corregir si me equivoco please..........


Un saludo
  #15 (permalink)  
Antiguo 15/06/2012, 13:22
Avatar de manyblue  
Fecha de Ingreso: marzo-2008
Mensajes: 329
Antigüedad: 16 años, 7 meses
Puntos: 10
Respuesta: Problema Ubuntu, LAMP, formularios, envios

podeis cerrar el tema y abro otro.
un saludo

Etiquetas: envios, formulario, lamp, ubuntu
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 09:33.