Foros del Web » Programando para Internet » PHP »

Instalación Sendmail en Ubuntu para enviar correos y formularios

Estas en el tema de Instalación Sendmail en Ubuntu para enviar correos y formularios en el foro de PHP en Foros del Web. La verdad es que llevo tiempo intentando poder enviar correos y formularios desde mi web, por el momento no lo he conseguido pero creo voy ...
  #1 (permalink)  
Antiguo 15/06/2012, 14:13
Avatar de manyblue  
Fecha de Ingreso: marzo-2008
Mensajes: 329
Antigüedad: 16 años, 8 meses
Puntos: 10
Instalación Sendmail en Ubuntu para enviar correos y formularios

La verdad es que llevo tiempo intentando poder enviar correos y formularios desde mi web, por el momento no lo he conseguido pero creo voy por buen camino si vosotros m hechais una mano.

OS: Ubuntu 11.04
Instalados. LAMP Server mínimo.

Lo primero es instalar "sendmail", "sendmail-cf", y "mailutils"

Abro terminal:

# apt-get install sendmail sendmail-cf mailutils

Abrimos en el router el puerto 25 y lo redirigimos a la ip interna del server.

Comprobamos que el puerto 25 esta en escucha por sendmail:

# telnet 127.0.0.1 25

nos debe responder:

220 nuestrohost ESMTP sendmail 8.14.4/8.14.4/Debian-2ubuntul lafecha .........
al final esto loogging acces from: locahost(OK)

Otra forma es:

# nmap 127.0.0.1

Debe aparecer el 25 TCP Open smtp

Todo Ok por el momento.

Edito el archivo /etc/php5/apache2/php.ini
Debiendo quedar asi:

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 =
Creo que debe quedar asi, si me equivoco decidlo porfavor.
Guardamos los cambios y reiniciamos apache

# /etc/init.d/apache2 restart

Ahora viene un poco de configuración de "sendmail"

Nos camos a

# cd /etc/mail/

aqui editamos el archico sendmail.mc cualquier editor

# nano sendmail.mc

Código:
divert(-1)dnl
#-----------------------------------------------------------------------------
# $Sendmail: debproto.mc,v 8.14.4 2011-01-10 21:47:09 cowboy Exp $
#
# Copyright (c) 1998-2010 Richard Nelson.  All Rights Reserved.
#
# cf/debian/sendmail.mc.  Generated from sendmail.mc.in by configure.
#
# sendmail.mc prototype config file for building Sendmail 8.14.4
#
# Note: the .in file supports 8.7.6 - 9.0.0, but the generated
# file is customized to the version noted above.
#
# This file is used to configure Sendmail for use with Debian systems.
#
# If you modify this file, you will have to regenerate /etc/mail/sendmail.cf
# by running this file through the m4 preprocessor via one of the following:
# * make   (or make -C /etc/mail)
# * sendmailconfig 
# * m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
# The first two options are preferred as they will also update other files
# that depend upon the contents of this file.
#
# The best documentation for this .mc file is:
# /usr/share/doc/sendmail-doc/cf.README.gz
#
#-----------------------------------------------------------------------------
divert(0)dnl
#
#   Copyright (c) 1998-2005 Richard Nelson.  All Rights Reserved.
#
#  This file is used to configure Sendmail for use with Debian systems.
#
define(`_USE_ETC_MAIL_')dnl
include(`/usr/share/sendmail/cf/m4/cf.m4')dnl
VERSIONID(`$Id: sendmail.mc, v 8.14.4-2ubuntu1 2011-01-10 21:47:09 cowboy Exp $')
OSTYPE(`debian')dnl
DOMAIN(`debian-mta')dnl
dnl # Items controlled by /etc/mail/sendmail.conf - DO NOT TOUCH HERE
undefine(`confHOST_STATUS_DIRECTORY')dnl        #DAEMON_HOSTSTATS=
dnl # Items controlled by /etc/mail/sendmail.conf - DO NOT TOUCH HERE
dnl #
dnl # General defines
dnl #
dnl # SAFE_FILE_ENV: [undefined] If set, sendmail will do a chroot()
dnl # into this directory before writing files.
dnl # If *all* your user accounts are under /home then use that
dnl # instead - it will prevent any writes outside of /home !
dnl #   define(`confSAFE_FILE_ENV',             `')dnl
dnl #
dnl # Daemon options - restrict to servicing LOCALHOST ONLY !!!
dnl # Remove `, Addr=' clauses to receive from any interface
dnl # If you want to support IPv6, switch the commented/uncommentd lines
dnl #
FEATURE(`no_default_msa')dnl
dnl DAEMON_OPTIONS(`Family=inet6, Name=MTA-v6, Port=smtp, Addr=::1')dnl
DAEMON_OPTIONS(`Family=inet,  Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
dnl DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission, M=Ea, Addr=::1')dnl
DAEMON_OPTIONS(`Family=inet,  Name=MSP-v4, Port=submission, M=Ea, Addr=127.0.0.1')dnl
dnl #
dnl # Be somewhat anal in what we allow
define(`confPRIVACY_FLAGS',dnl
`needmailhelo,needexpnhelo,needvrfyhelo,restrictqrun,restrictexpand,nobodyreturn,authwarnings')dnl
dnl #
dnl # Define connection throttling and window length
define(`confCONNECTION_RATE_THROTTLE', `15')dnl
define(`confCONNECTION_RATE_WINDOW_SIZE',`10m')dnl
dnl #
dnl # Features
dnl #
dnl # use /etc/mail/local-host-names
FEATURE(`use_cw_file')dnl
dnl #
dnl # The access db is the basis for most of sendmail's checking
FEATURE(`access_db', , `skip')dnl
dnl #
dnl # The greet_pause feature stops some automail bots - but check the
dnl # provided access db for details on excluding localhosts...
FEATURE(`greet_pause', `1000')dnl 1 seconds
dnl #
dnl # Delay_checks allows sender<->recipient checking
FEATURE(`delay_checks', `friend', `n')dnl
dnl #
dnl # If we get too many bad recipients, slow things down...
define(`confBAD_RCPT_THROTTLE',`3')dnl
dnl #
dnl # Stop connections that overflow our concurrent and time connection rates
FEATURE(`conncontrol', `nodelay', `terminate')dnl
FEATURE(`ratecontrol', `nodelay', `terminate')dnl
dnl #
dnl # If you're on a dialup link, you should enable this - so sendmail
dnl # will not bring up the link (it will queue mail for later)
dnl define(`confCON_EXPENSIVE',`True')dnl
dnl #
dnl # Dialup/LAN connection overrides
dnl #
include(`/etc/mail/m4/dialup.m4')dnl
include(`/etc/mail/m4/provider.m4')dnl
dnl #
dnl # Default Mailer setup
MAILER_DEFINITIONS
define(`SMART_HOST',`relay.skynet.be')dnl
MAILER(`local')dnl
MAILER(`smtp')dnl
Las lineas señaladas en rojo deben quedar tal y como estan, igual que despues de la instalacion de send mail, aqui para comentar una linea se le añada al principio dnl.

Justo despues de la linea azul viene el meollo de la cuestion que todavia no entiendo muy bien.
Hay que añadir una linea que sea asi:

Código:
define(`SMART_HOST',`relay.skynet.be')dnl
"relay.skynet.be" es el meollo de la cuestion yo puse este pues es el que venia el manual pero creo se puede poner otro no se yo lo deje asi.
PORFA decidme algo sobre este tema, aqui se puede pone el de gmail ??? agradeceria respuesta sobre este tema es impor tante para mi.

Bueno seguimos, estamos aditando el "sendmail.mc", pues guardamos los cambios y cerramos el editor, como hemos variado el sendmail.mc ahora hay que generar el "nuevo sendmail.cf" por lo que en el terminal tecleamos lo siguiente:

# bash -c "cd /etc/mail/ && m4 sendmail.mc > sendmail.cf"

Reiniciamos sendmail

# /etc/init.d/sendmail rest



Decidme algo aun no lo he probado en la web no podre hacerlo hasta el domingo o lunes asi que espero comentarios sobre este tema que creo es interesante.

Tengo en este server instalado "wbmin" y veo que en el desplegable de Server esta sendmail asi que se puede configurar tambien por ahi, que pensais ??

Se me olvidabe en "/etc/hostname" y en "/etc/hosts" estaran los mismo que en "/etc/mail/local-host-names", se pueden añadir mas.


Un saludo a todos y gracias de antemano: Manyblue

Última edición por manyblue; 15/06/2012 a las 14:21
  #2 (permalink)  
Antiguo 15/06/2012, 14:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Instalación Sendmail en Ubuntu para enviar correos y formularios

Ojo, tu tema anterior sigue abierto y decidiste abrir uno nuevo sin consultar las normas del foro.

Entiende que si nadie te responde es porque el tema ya se salió mucho de la temática del sub-foro de php, pues aquí sólo tratamos problemas especificas de este lenguaje.

Tu problemática ahora es otra, que compete mas bien de la configuración del servidor a un nivel mas bajo y no tiene nada que ver con código php.

He reportado tu tema para que lo muevan al lugar correcto.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 16/06/2012, 00:48
Avatar de manyblue  
Fecha de Ingreso: marzo-2008
Mensajes: 329
Antigüedad: 16 años, 8 meses
Puntos: 10
Respuesta: Instalación Sendmail en Ubuntu para enviar correos y formularios

Muchas gracias, no sabia donde postear este tema.

Un saludo
  #4 (permalink)  
Antiguo 19/06/2012, 06:33
Avatar de manyblue  
Fecha de Ingreso: marzo-2008
Mensajes: 329
Antigüedad: 16 años, 8 meses
Puntos: 10
Respuesta: Instalación Sendmail en Ubuntu para enviar correos y formularios

Bueno he visto ya que la forma más facil es con la clase "phpmailer" así que doy por terminado este tema por que ademas no está en el sitio adecuado así que lo podeis cerrar o eliminar.
Abrire otro para consultar unas dudas de phpmailer si me dejais.
He conseguido dos manuales muy buenos en los que se explica muy bien como se hace con sendmail y postfix y demas necesario, ya lo hare coin calma en otro server que tengo pero en este es mas urgente.

Un saludo y mil gracias por buestras molestias: manyblue
  #5 (permalink)  
Antiguo 04/05/2015, 16:48
 
Fecha de Ingreso: mayo-2015
Mensajes: 1
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Instalación Sendmail en Ubuntu para enviar correos y formularios

Espero no ser inoportuno, pero para los que llegaron hasta aca investigando el tema, como me paso a mi, dejo enlace de una solución porpuesta por el mismo autor:
http://www.forosdelweb.com/f41/ubuntu-lamp-server-funcion-php-mail-como-enviar-emails-1108644/
Saludos!

Etiquetas: correos, formulario, instalación, sendmail, 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 07:19.