Enviar correo con Action Mailer sin smtp

Hoooola

Estoy intentando enviar correos desde un formulario, pero todo lo que
veo es para configurar un servidor smtp.
¿Existe algún opción para enviarlos sin configurar el smtp? Algo
paracito a PHP.

Muchas gracias

Claro que sí, en la configuración de ActionMailer en environment.rb:

ActionMailer::Base.delivery_method = :sendmail
ActionMailer::Base.default_charset = “utf-8”

Hoooola

Estoy intentando enviar correos desde un formulario, pero todo lo que
veo es para configurar un servidor smtp.
¿Existe algún opción para enviarlos sin configurar el smtp? Algo
paracito a PHP.

Muchas gracias


Emili Parreño
www.eparreno.com

On Oct 22, 2007, at 9:49 AM, Ramón Castro wrote:

Estoy intentando enviar correos desde un formulario, pero todo lo que
veo es para configurar un servidor smtp.
¿Existe algún opción para enviarlos sin configurar el smtp? Algo
paracito a PHP.

Para enviar mails se necesita alguien que sepa hacerlo :-), en PHP no
hay que configurarlo en el php.ini?

En cuanto a Rails esta este plugin:

http://agilewebdevelopment.com/plugins/integral_mailer

Como ves en la documentacion necesita dig(1) y se recomienda para
desarrollo.

– fxn

He hecho lo que ponías en tu web
http://www.eparreno.com/2007/08/07/formulario-de-contacto-en-ror-con-action-mailer/

Lo monta todo bien. En el log veo perfectamente la salida, pero no envía
nada…

environment.rb (al final)

ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.delivery_method = :sendmail
ActionMailer::Base.default_charset = “ISO-8859-1”

contact.rb

class Contact < ActionMailer::Base
def contact_email(email_params, sent_at = Time.now)
@recipients = “[email protected]” # Dirección donde se envía el
correo
@from = email_params[:name] + " <" + email_params[:address] + “>”
@subject = email_params[:subject]
@sent_on = sent_at
@body[“email_body”] = email_params[:body]
@body[“email_name”] = email_params[:name]
end
end

contact_email.rhtml

Nombre:
<%= @email_name %>
Mensaje:
<%= @email_body %>

resultado.rhmtl

[…]
<%=form_tag :action=> ‘send_mail’ %>

Nombre: <%= text_field "email", "name", :size => 30 %> E-mail: <%= text_field "email", "address", :size => 30 %> Motivo del contacto: <%= text_field "email", "subject", :size => 30 %> Mensaje: <%= text_area "email", "body", :rows => 3, :cols => 30 %>   <%= image_submit_tag ("enviar.gif") %> <%=end_form_tag%> [...]

controlador

def send_mail
Contact::deliver_contact_email(@params[:email])
render :action => ‘resultado’
end

Log

Sent mail:
Date: Mon, 22 Oct 2007 19:11:31 +0200

From: nombre [email protected]

To: [email protected]

Subject: motivo

Mime-Version: 1.0

Content-Type: text/plain; charset=ISO-8859-1

Nombre:
nombre
Mensaje:
mensaje
Rendering actionresultadolayoutfalse within
layouts/establishment_contents

Muchas gracias.

Para enviar un correo, antes o después se va a necesitar SMTP. Lo que
se hace con la línea:

ActionMailer::Base.delivery_method = :sendmail

es ejecutar localmente el programa sendmail y pedirle a sendmail que
nos envíe el correo. Para que ello funcione, sendmail debe estar
configurado para poder enviar correos. Es decir, que no nos libramos
de tener un servidor SMTP a nuestra
disposición.
Si realmente quieres enviar con sendmail, tendrás que revisar su log
para ver qué está pasando. A ActionMailer::Base puedes decirle dónde
está tu sendmail local y cómo quieres ejecutarlo.

sendmail_settings - Allows you to override options for the

:sendmail delivery method

    * :location The location of the sendmail executable, defaults

to “/usr/sbin/sendmail”
* :arguments The command line arguments

La configuración de sendmail no es sencilla para recibir emails, pero
suele funcionar out-of-the-box para el envío. Tal vez sólo sea un
problema del path donde ActionMailer lo busca.

Espero que ayude,

salu2,

Javi

2007/10/22, Ramón Castro [email protected]: