Foros del Web » Creando para Internet » HTML »

phpmailer adjuntar fondo

Estas en el tema de phpmailer adjuntar fondo en el foro de HTML en Foros del Web. Quiero mandar un email que llegue como este: el problema es que no se como incuir la imagen de fondo para luego poner el texto ...
  #1 (permalink)  
Antiguo 23/10/2009, 18:21
Avatar de kabugi  
Fecha de Ingreso: agosto-2006
Ubicación: Madrid - España
Mensajes: 65
Antigüedad: 17 años, 7 meses
Puntos: 0
phpmailer adjuntar fondo

Quiero mandar un email que llegue como este:



el problema es que no se como incuir la imagen de fondo para luego poner el texto utilizando phpmailer.

Me podeís echar una mano.

Muchas Gracias
  #2 (permalink)  
Antiguo 23/10/2009, 18:24
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: phpmailer adjuntar fondo

Lo que te sugiero es usar HTML en vez de hacer un attachment y que lea una imagen que tengas en tu servidor
Código HTML:
Ver original
  1. <div style="background-image=url(http://www.example.com/image.jpg)">
  2. algo va aqui
  3. </div>
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 24/10/2009, 10:51
Avatar de kabugi  
Fecha de Ingreso: agosto-2006
Ubicación: Madrid - España
Mensajes: 65
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: phpmailer adjuntar fondo

Cita:
Iniciado por abimaelrc Ver Mensaje
Lo que te sugiero es usar HTML en vez de hacer un attachment y que lea una imagen que tengas en tu servidor
Código HTML:
Ver original
  1. <div style="background-image=url(http://www.example.com/image.jpg)">
  2. algo va aqui
  3. </div>
Estoy utilizando lo siguiente, ya que con <div-style me da error:
Cita:
<?php
require ("class.phpmailer.php");
$mimail = $_POST['for'];
if ($_POST['action'] == "send") {
$mail = new PHPMailer();
$mail->Host = "localhost";
$mail->From = $_POST['nombre'];
$mail->FromName = $_POST['nombre'];
$mail->Subject = $_POST['asunto'];
$mail->AddAddress($mimail);

$mail->From = $_POST['nombre'];
$mail->FromName = $_POST['nombre'];
$mail->Subject = $_POST['asunto'];
$mail->AddAddress($mimail);

$body = "<img src=body background:url('http://www.mipagina.com/celda_rotulo.jpg width='500' height='300' border='0'');>";
$body.= "<br><strong>Mensaje</strong><br><br>";
$body.= "Mensaje enviado por: ".$_POST['nombre']."<br><br>";
$body.= "Mensaje enviado desde: ".$_POST['pais']."<br><br>";
$body.= "Mensaje: ".$_POST['mensaje']."<br><br>";
$body.= "<i>Email: <a href=mailto:".$_POST['email'].">".$_POST['email']."</a></i>";
$mail->Body = $body;
$mail->IsHTML(true);
$mail->Send();
$alert = "¡¡¡ MENSAJE ENVIADO CORRECTAMENTE !!!!";
}
?>
pero tengo dos problemas:
1º - La imagen no se me muestra
2º - Los textos salen fuera de la imagen

Llevo mirados un porrón de consultas ya hechas y no consigo aclarar el error.
He pensado meterlo en una tabla, pero me supera como tengo que introducir los valores de la misma.

Muchas Gracias
  #4 (permalink)  
Antiguo 24/10/2009, 11:13
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: phpmailer adjuntar fondo

¿Pero porque te sale error lo del div? Escribe lo que haz hecho.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 24/10/2009, 12:05
Avatar de kabugi  
Fecha de Ingreso: agosto-2006
Ubicación: Madrid - España
Mensajes: 65
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: phpmailer adjuntar fondo

Perdona, eso era un error mio que solucione
Cita:
$body = "<div style='background-image=url('http://www.mipagina.com/celda_rotulo.JPG width='500' height='300' border='0'');>";
pero con div no me sale ni el recuadro de la imagen, cosa que de la otra forma, por lo menos aparece.
No tengo ni idea donde estoy metiendo la pata y ya me he leído todo lo que esta relacionado y no veo el error.

Muchas Gracias
  #6 (permalink)  
Antiguo 24/10/2009, 16:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: phpmailer adjuntar fondo

Cita:
Iniciado por abimaelrc Ver Mensaje
Lo que te sugiero es usar HTML en vez de hacer un attachment y que lea una imagen que tengas en tu servidor
Código HTML:
Ver original
  1. <div style="background-image=url(http://www.example.com/image.jpg)">
  2. algo va aqui
  3. </div>
mmm...

los estilos no llevan =, deben ser :
Código HTML:
<div style="background: url(http://foo.com/bar.gif)"></div> 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 24/10/2009, 17:08
Avatar de kabugi  
Fecha de Ingreso: agosto-2006
Ubicación: Madrid - España
Mensajes: 65
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: phpmailer adjuntar fondo

Me rindo.
El formulario me funciona de maravilla, pero no soy capaz de meter una imagen de fondo o una imagen en la tabla, y eso que he probado con todo, div, img, ...
Aquí dejo el código a ver si me podeís decir donde lo pongo y como.
Código PHP:
<?php
require ("class.phpmailer.php");
$mimail $_POST['for'];
if (
$_POST['action'] == "send") {
$mail = new PHPMailer();
$mail->Host "localhost";
$mail->From $_POST['nombre'];
$mail->FromName $_POST['nombre'];
$mail->Subject $_POST['asunto'];
$mail->AddAddress($mimail);

$body "<html>
<body>
<table width='854' align='center'>
  <tr>
    <td height='464' valign='top'><p>&nbsp;</p>
      <table>
        <tr>
          <td>&nbsp;</td>
          <td><strong>Para: </strong>"
.$_POST['nombre']."</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><strong>De: </strong>"
.$_POST['for']."</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><strong>Su mensaje:</strong> </td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>"
.$_POST['pais']."</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><strong>Contestaci&oacute;n:</strong></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>"
.$_POST['mensaje']."</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><i>Email: <a href=mailto:"
.$_POST['email'].">".$_POST['email']."</a></i></td>
        </tr>
      </table>      
      <p>&nbsp;</p></td>
  </tr>
</table>
</body>
</html>"
;
$mail->Body $body;
$mail->IsHTML(true);
$mail->Send();
$alert "¡¡¡ MENSAJE ENVIADO CORRECTAMENTE !!!!";
}
?>
Muchas Gracias a Todos
  #8 (permalink)  
Antiguo 24/10/2009, 17:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: phpmailer adjuntar fondo

aún mas fácil!!

debes agregar bien el estilo en el <body/>

Código PHP:
$body "<html>
<body style=\"background:url(http://url/de/tu/imagen.jpg)\"> "
// ... 
NOTA que algunos clientes de correo pueden bloquear las imágenes...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 25/10/2009, 10:04
Avatar de kabugi  
Fecha de Ingreso: agosto-2006
Ubicación: Madrid - España
Mensajes: 65
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: phpmailer adjuntar fondo

Nada, he probado:
Código PHP:
$body "<html> 
<body style=\"background:url(http://url/de/tu/imagen.jpg)\">
<body> 
<table width='854' align='center'> 
  <tr> 
    <td height='464' valign='top'><p>&nbsp;</p> 
      <table> 
y también
Código PHP:
$body "<html> 
<body> 
<body style=\"background:url(http://url/de/tu/imagen.jpg)\">
<table width='854' align='center'> 
  <tr> 
    <td height='464' valign='top'><p>&nbsp;</p> 
      <table> 
y no me muestra ni la imagen ni el recuadro.
He probado con div, img src y tampoco.
¿Otra idea?
Gracias
  #10 (permalink)  
Antiguo 25/10/2009, 10:44
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: phpmailer adjuntar fondo

kabugi, oye... y si sabes HTML??

porque no puedes poner dos <body>

además http://url/de/tu/imagen.jpg es la imagen desde Internet que vas a usar de fondo, y realmente debe existir!!!

¿¿que estas colocando ahí???


te sugiero coloques el código real que estas empleando... vale?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 25/10/2009, 11:18
Avatar de kabugi  
Fecha de Ingreso: agosto-2006
Ubicación: Madrid - España
Mensajes: 65
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: phpmailer adjuntar fondo

Puedo colocar dos bodys y ya lo he probado y SI la imagen esta en mi servidor y existe, pero ni por esas consigo que me salga de fondo.
Cuando utilice
Cita:
$body = "<img src=body background:url('http://www.mipagina.com/celda_rotulo.jpg width='500' height='300' border='0'');>";
por lo menos me marcaba el recuadro y es lo úniquo que he conseguido.
Gracias
  #12 (permalink)  
Antiguo 25/10/2009, 11:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: phpmailer adjuntar fondo

por favor, te sugiero leas un buen curso de HTML... porque por eso mismo estas haciendo todo mal!

Código PHP:
// MAL
$body "<img src=body background:url('http://www.mipagina.com/celda_rotulo.jpg width='500' height='300' border='0'');>";

// BIEN
$body "<img src='http://www.mipagina.com/celda_rotulo.jpg' width='500' height='300' border='0'>";

// BIEN (usando una solo <body>, no debes poner mas!! ¿de donde sacaste que si??)
$body "<body style=\"background:url(http://www.mipagina.com/celda_rotulo.jpg);\">"
de verdad, lo digo en buen plan... porque para ser algo ten sencillo ya te has trabado solo varias veces... y sin ayuda de nosotros!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 25/10/2009, 11:53
Avatar de kabugi  
Fecha de Ingreso: agosto-2006
Ubicación: Madrid - España
Mensajes: 65
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: phpmailer adjuntar fondo

Lo de los body me lo preguntaste tu en el anterior post y ya se que la primera esta mal, solo quería referir que no me mostraba la imagen.
Luego con:
Cita:
$body = "<img src='http://www.mipagina.com/celda_rotulo.jpg' width='500' height='300' border='0'>";
$body = "<body style=\"background:url(http://www.mipagina.com/celda_rotulo.jpg);\">";
no me muestra las imágenes.
También he probado con:
Cita:
<div style="background: url(http://foo.com/bar.gif)"></div>
y estoy en las mismas.
Muchas Gracias, pero alguna otra idea o de como ponerlo como fondo de celda.
  #14 (permalink)  
Antiguo 25/10/2009, 12:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: phpmailer adjuntar fondo

mira... te sugiero primero hagas una archivo HTML con el <div/> de fondo.. un texto de ejemplo, para que lo puedas ver directamente...

como prueba pues... si así se visualiza la imagen de fondo, entonces usas dicho HTML ...

¿¿no lo habías pensado??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #15 (permalink)  
Antiguo 25/10/2009, 12:08
Avatar de kabugi  
Fecha de Ingreso: agosto-2006
Ubicación: Madrid - España
Mensajes: 65
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: phpmailer adjuntar fondo

Lo habia meditado pero no hecho, lo haré y ya te diré, pero lo que me escama es que si pongo:
$body = "<img src='http://www.mipagina.com/celda_rotulo.jpg' width='500'
me marca el recuadro de la imagen y el correo me avisa para que acepte la imagen, pero no sale nada.
Bueno probaré lo anterior
Gracias de nuevo
  #16 (permalink)  
Antiguo 25/10/2009, 14:02
Avatar de kabugi  
Fecha de Ingreso: agosto-2006
Ubicación: Madrid - España
Mensajes: 65
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: phpmailer adjuntar fondo

Cita:
Iniciado por pateketrueke Ver Mensaje
mira... te sugiero primero hagas una archivo HTML con el <div/> de fondo.. un texto de ejemplo, para que lo puedas ver directamente...

como prueba pues... si así se visualiza la imagen de fondo, entonces usas dicho HTML ...

¿¿no lo habías pensado??
Bueno hecho esta y en html funciona correctamente. Lo agrego al phpmailer como:
Código PHP:
$body "<html>
<body>
<div style='background: url('http://www.kabugi.es/imgmail.png') no-repeat scroll;LEFT: 0px; WIDTH: 854px; COLOR: white; POSITION: absolute; TOP: 5px; HEIGHT: 464px; WHIDHT: 33%'> </div>
<table width='854' align='center'>
  <tr>
// y mas texto html que ya funciona ok 
y ¡Oh! sorpresa, no me sale la imagen.
Ya no se que probar
Gracias
  #17 (permalink)  
Antiguo 25/10/2009, 14:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: phpmailer adjuntar fondo

ya se te ha dicho varias veces... algunos clientes de correo bloquean las imágenes, eso es todo!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #18 (permalink)  
Antiguo 26/10/2009, 10:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Tema movido desde PHP a (X)HTML
  #19 (permalink)  
Antiguo 26/10/2009, 10:13
Avatar de kabugi  
Fecha de Ingreso: agosto-2006
Ubicación: Madrid - España
Mensajes: 65
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: phpmailer adjuntar fondo

Bueno el fondo ha sido imposible, así que he modificado las tablas y envio una imagen.
Esto funciona correctamente y no queda mal.
Gracias a todos, y en especial a "pateketrueke" por sus consejos.
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 06:10.