Attachment mail, me saca el código ht ml de la vista

Hola, estoy intentando hacer un attachment en un mail, siguiendo un
ejemplo del Agile. El envío lo hace correcto, me hace el attachement, me
pinta el html, pero también me saca el código html, y no se muy bien por
qué.
En mi controlador tengo:
@solucion=SolucionTecnica.find(params[:solucion])
contacto=params[:contacto]
datos=Hash.new

dest=File.join(UPLOAD_DIR,sanitize_filename(@solucion.documento))

datos={:email=>contacto[:email],:asunto=>contacto[:asunto],
:mensaje=>contacto[:mensaje],:nombre=>@solucion.titulo,
:nom_doc=>@solucion.documento, :fecha=>@solucion.fecha,
:solucion=>@solucion.cuerpo, :dest=>dest}
email=SolucionMailer.create_sent(datos)

             if SolucionMailer.deliver(email)
                      flash[:notice]="El formulario ha sido enviado

correctamente. "
else
flash[:notice]=“El formulario no se ha podido
enviar correctamente.”
end

En mi model:

def sent(datos)
@subject = datos[:asunto]
@body[“datos”] = datos
@recipients = datos[:email]
@from = ‘[email protected]
@sent_on = Time.now
@headers = {}
part :content_type =>“text/html”,

:body=>render_message(“sent”,:datos=>datos)

                                     attachment :content_type =>

“image/jpeg”,
:body
=>File.read(datos[:dest]),

:filename=>datos[:nom_doc]

end

Y luego tengo la vista ‘sent’:

<%= @datos[:mensaje]%>

<%=@datos[:nombre]%>

<%=@datos[:fecha]%>

<%=@datos[:solucion]%>

Bien, el mail que me llega es una cosa
así:

Mi mensaje

test

2007-01-01

cuerpo

Mi mensaje
test

2007-01-01
cuerpo

Me pinta lo primero de todo el código html, luego me lo pinta bien
debajo, y me llega también el attachment, pero no entiendo por qué me
saca el código html de la vista. Estoy haciendo algo mal?

Hola,

ejemplo del Agile. El envío lo hace correcto, me hace el attachement, me
pinta el html, pero también me saca el código html, y no se muy bien por

un mail en sí mismo no es un html, hasta que no se demuestre lo
contrario. Si envías un mail sin especificar el content type, el cliente
entiende que es un texto plano, y te lo pinta como un texto. Si quieres
que el cliente entienda que es un html y lo represente así, tienes que
decirle que el content-type es text/html

el content type lo puedes fijar a nivel individual del mail, o a nivel
de configuración del mailer

saludos,

j


javier ramírez

…i do ruby on rails development in madrid, spain, at
http://www.aspgems.com
…you can find out more about me on http://formatinternet.wordpress.com
and http://workingwithrails.com/person/5987-javier-ramirez

javier ramirez
escribió:> entiende que es un texto plano, y te lo pinta como un texto. Si quieres

Si lo hago a nivel de mail necesito poner el content_type como
multipart/mixed para que me haga el attachment, y luego en el mailer
tengo puesto:
part :content_type =>“text/html”,

:body=>render_message(“sent”,:datos=>datos)

Se supone que ahí lo envía como text/html, pero no va, y si pongo el
content_type como text/html en mi controlador cuando envío el mail no me
hace el attachtment.

Es
así?

Hola,

Si lo hago a nivel de mail necesito poner el content_type como
multipart/mixed para que me haga el attachment, y luego en el mailer
tengo puesto:

no voy a poderte ayudar en eso :frowning: la última vez que hice lo de los
parts mezclados con attachments fue en la 1.1.6 y funcionaba un pelín
diferente. Según el API es como tú comentas. Lo único es que en el
código original que mandaste no veo que estés poniendo el content-type
global del mail como multipart/mixed. No sé si es que se te pasó al
enviarlo o si es que te falta.

suerte,


javier ramírez

…i do ruby on rails development in madrid, spain, at
http://www.aspgems.com
…you can find out more about me on http://formatinternet.wordpress.com
and http://workingwithrails.com/person/5987-javier-ramirez