entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Problemas al enviar correo

Resulta que tengo un script que consulta direcciones ip para ver su reputación y si esta se encuentra mal calificada debe enviar un correo electrónico.

El problema es que cuando armo el html del correo realizo un listado con servidores :

<ul align='justify'>
<li>b.barracudacentral.org.</li>
<li>b.barracudacentral2.org.</li>
</ul>

El problema es que me llegan al correo como spam y los elementos de la lista aparecen como hipervinculo, me di cuenta que este es el problema porque si en la lista separo los puntos

<li>b. barracudacentral. org.</li> 

no tengo problemas pero no puedo dejarlo así.

Codigo Envio:

my $mensaje = MIME::Lite->new (
        Subject => "Informe de Reputación",
        From    => '[MAIL] <[email protected]>',
        To      => $email,
        Cc      => 'correo<[email protected]>',
        Type    =>'multipart/related',
    );
    $mensaje->attach(
        Type => 'text/html',
        Data => $contenido,
    ); 
    $mensaje->attach(
        Type => 'image/png',
        Id   => 'logo.png',
        Path => '/rutalogo/logo.png',
    );
    $mensaje->send('127.0.0.1');

2 Respuestas

3votos

Leonardo-Tadei Puntos227320

Hola @morgooth,

que el correo te llegue como spam, seguramente es porque lo está enviado el usuario que ejecuta el script, o el servidor web, con lo que no sale desde una dirección válida.

Seguramente hay en Perl algún mencanismo para que el mensaje salga desde una cuenta de correo existente, saliendo desde el SMTP del dominio.

El tema de los hiperenlaces no creo que tenga arreglo: vos no los enviás dentro de un <A> como para que sean interpretados como tales. Lo que pasa es que los clientes de correo intentan descubrir URL, y cuando las encuntran, crean un hiperenlace. Podrías probar haciendo que el cuerpo sea texto plano (a costa de perder formato), pero si es el cliente de correo, te los pondrá igual como enlaces.

Saludos cordiales

0voto

morgooth comentado

Hola @Leonardo-Tadei,

Muchas gracias por responder, utilice otro modulo de perl para poder realizar la autentificación con usuario y contraseña(antes no lo hacía) y ahora no llegan como spam y efectivamente los sigo viendo como un hiperenlace pero se ven con el formato correcto y es lo que quería.

Gracias.

0voto

Leonardo-Tadei comentado

Me alegra que te haya servido la respuesta y el tip de enviar los mails vía un servidor SMTP!

Saludos cordiales!

1voto

morgooth Puntos2340

Código de solución :

use strict;
use warnings;

use Email::Sender::Simple qw(sendmail);
use Email::Sender::Transport::SMTPS ();
use Email::Simple ();
use Email::Simple::Creator ();
use Email::MIME::CreateHTML;

my $smtpserver = 'smtp.gmail.com';
my $smtpport = 587;
my $smtpuser   = '[email protected]';
my $smtppassword = 'xx';

my $transport = Email::Sender::Transport::SMTPS->new({
  host => $smtpserver,
  port => $smtpport,
  ssl => "starttls",
  sasl_username => $smtpuser,
  sasl_password => $smtppassword,
});

my $email = Email::MIME->create_html(
        header => [
                To      => '[email protected]',
                From    => '[email protected]',
                Subject => 'Here is the information you requested',
        ],
        body => "<h1>mensaje HTML</h1>",
);

sendmail($email, { transport => $transport });

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta