elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  quisiera que me dijeran como hacer un programa que me envie dato a un hotmail
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: quisiera que me dijeran como hacer un programa que me envie dato a un hotmail  (Leído 2,457 veces)
batist07

Desconectado Desconectado

Mensajes: 7


Ver Perfil
quisiera que me dijeran como hacer un programa que me envie dato a un hotmail
« en: 7 Septiembre 2013, 03:32 am »

saludos amigo, sino es mucha molestia, me gustaría que me dijeran como hacer un programa en c++ que me envié datos al hotmail...... :D


En línea

Alien-Z

Desconectado Desconectado

Mensajes: 177


C++ Programmer


Ver Perfil
Re: quisiera que me dijeran como hacer un programa que me envie dato a un hotmail
« Respuesta #1 en: 7 Septiembre 2013, 13:04 pm »

Más datos hombre, ¿usas una librería específica (WinAPI, QT, wxWidgets...) o vas a ejecutar guiones shell...?, ¿multiplataforma o para un SO específico?.

Si estás buscando una opinión general te recomiendo QT. Aquí un ejemplo para envíar e-mails:

smtp.h:
Código
  1.    /****************************************************************************
  2.     ** $Id: qt/smtp.h 3.3.6 edited Aug 31 2005 $
  3.     **
  4.     ** Copyright (C) 1992-2005 Trolltech AS. All rights reserved.
  5.     **
  6.     ** This file is part of an example program for Qt. This example
  7.     ** program may be used, distributed and modified without limitation.
  8.     **
  9.     *****************************************************************************/
  10.  
  11.    #ifndef SMTP_H
  12.    #define SMTP_H
  13.  
  14.    #include <QTcpSocket>
  15.    #include <QString>
  16.    #include <QTextStream>
  17.    #include <QDebug>
  18.    #include <QMessageBox>
  19.  
  20.    class Smtp : public QObject
  21.    {
  22.    Q_OBJECT
  23.  
  24.  
  25.    public:
  26.    Smtp( const QString &from, const QString &to,
  27.    const QString &subject, const QString &body );
  28.    ~Smtp();
  29.  
  30.    signals:
  31.    void status( const QString &);
  32.  
  33.    private slots:
  34.    void stateChanged(QTcpSocket::SocketState socketState);
  35.    void errorReceived(QTcpSocket::SocketError socketError);
  36.    void disconnected();
  37.    void connected();
  38.    void readyRead();
  39.  
  40.    private:
  41.    QString message;
  42.    QTextStream *t;
  43.    QTcpSocket *socket;
  44.    QString from;
  45.    QString rcpt;
  46.    QString response;
  47.    enum states{Rcpt,Mail,Data,Init,Body,Quit,Close};
  48.    int state;
  49.  
  50.    };
  51.    #endif

stmp.cpp:
Código
  1.    #include "smtp.h"
  2.  
  3.    Smtp::Smtp( const QString &from, const QString &to, const QString &subject, const QString &body )
  4.    {
  5.    socket = new QTcpSocket( this );
  6.  
  7.    connect( socket, SIGNAL( readyRead() ), this, SLOT( readyRead() ) );
  8.    connect( socket, SIGNAL( connected() ), this, SLOT( connected() ) );
  9.    connect( socket, SIGNAL(error(SocketError)), this,
  10.    SLOT(errorReceived(SocketError)));
  11.    connect( socket, SIGNAL(stateChanged( SocketState)), this,
  12.    SLOT(stateChanged(SocketState)));
  13.    connect(socket, SIGNAL(disconnectedFromHost()), this,
  14.    SLOT(disconnected()));;
  15.  
  16.    message = "To: " + to + "\n";
  17.    message.append("From: " + from + "\n");
  18.    message.append("Subject: " + subject + "\n");
  19.    message.append(body);
  20.    message.replace( QString::fromLatin1( "\n" ), QString::fromLatin1( "\r\n" ) );
  21.    message.replace( QString::fromLatin1( "\r\n.\r\n" ),
  22.    QString::fromLatin1( "\r\n..\r\n" ) );
  23.    this->from = from;
  24.    rcpt = to;
  25.    state = Init;
  26.    socket->connectToHost( "smtp.yourserver.com", 25);
  27.    if(socket->waitForConnected ( 30000 )) {qDebug("connected"); }
  28.  
  29.    t = new QTextStream( socket );
  30.    }
  31.    Smtp::~Smtp()
  32.    {
  33.    delete t;
  34.    delete socket;
  35.    }
  36.    void Smtp::stateChanged(QTcpSocket::SocketState socketState)
  37.    {
  38.  
  39.    qDebug() <<"stateChanged " << socketState;
  40.    }
  41.  
  42.    void Smtp::errorReceived(QTcpSocket::SocketError socketError)
  43.    {
  44.    qDebug() << "error " <<socketError;
  45.    }
  46.  
  47.    void Smtp::disconnected()
  48.    {
  49.  
  50.    qDebug() <<"disconneted";
  51.    qDebug() << "error " << socket->errorString();
  52.    }
  53.  
  54.    void Smtp::connected()
  55.    {
  56.    output->append("connected");
  57.    qDebug() << "Connected ";
  58.    }
  59.  
  60.    void Smtp::readyRead()
  61.    {
  62.  
  63.    qDebug() <<"readyRead";
  64.    // SMTP is line-oriented
  65.  
  66.    QString responseLine;
  67.    do
  68.    {
  69.    responseLine = socket->readLine();
  70.    response += responseLine;
  71.    }
  72.    while ( socket->canReadLine() && responseLine[3] != ' ' );
  73.  
  74.    responseLine.truncate( 3 );
  75.  
  76.  
  77.    if ( state == Init && responseLine[0] == '2' )
  78.    {
  79.    // banner was okay, let's go on
  80.  
  81.    *t << "HELO there\r\n";
  82.    t->flush();
  83.  
  84.    state = Mail;
  85.    }
  86.    else if ( state == Mail && responseLine[0] == '2' )
  87.    {
  88.    // HELO response was okay (well, it has to be)
  89.  
  90.    *t << "MAIL FROM: " << from << "\r\n";
  91.    t->flush();
  92.    state = Rcpt;
  93.    }
  94.    else if ( state == Rcpt && responseLine[0] == '2' )
  95.    {
  96.  
  97.    *t << "RCPT TO: " << rcpt << "\r\n"; //r
  98.    t->flush();
  99.    state = Data;
  100.    }
  101.    else if ( state == Data && responseLine[0] == '2' )
  102.    {
  103.  
  104.    *t << "DATA\r\n";
  105.    t->flush();
  106.    state = Body;
  107.    }
  108.    else if ( state == Body && responseLine[0] == '3' )
  109.    {
  110.  
  111.    *t << message << "\r\n.\r\n";
  112.    t->flush();
  113.    state = Quit;
  114.    }
  115.    else if ( state == Quit && responseLine[0] == '2' )
  116.    {
  117.  
  118.    *t << "QUIT\r\n";
  119.    t->flush();
  120.    // here, we just close.
  121.    state = Close;
  122.    emit status( tr( "Message sent" ) );
  123.    }
  124.    else if ( state == Close )
  125.    {
  126.    deleteLater();
  127.    return;
  128.    }
  129.    else
  130.    {
  131.    // something broke.
  132.    QMessageBox::warning( 0, tr( "Qt Mail Example" ), tr( "Unexpected reply from SMTP server:\n\n" ) + response );
  133.    state = Close;
  134.    }
  135.    response = "";
  136.    }

Invocación:
Código
  1.    Smtp *newMail = new Smtp("from@address.com","to@address.com"," Your Subject","My body text");
  2.    delete newMail;

Fuente: http://www.qtcentre.org/threads/2221-Sending-email-using-Qt

Saludos.


En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: quisiera que me dijeran como hacer un programa que me envie dato a un hotmail
« Respuesta #2 en: 7 Septiembre 2013, 16:00 pm »

Notas con respecto al envío de correos a hotmail, gmail, etc desde "servidores de correos propios".

Si el dominio del correo que vas a utilizar como remitente o la dirección del servidor de correo que vas a usar para enviar el correo no están registradas en hotmail puede que tengas problemas para que el correo le llegue al destinatario.

El problema viene por los filtros que usan hotmail, gmail y demás frente a dominios desconocidos.

El ejemplo que te ha puesto Alien-Z es para montar un sencillo servidor de correo.
En línea

roilivethelife

Desconectado Desconectado

Mensajes: 54


Ver Perfil
Re: quisiera que me dijeran como hacer un programa que me envie dato a un hotmail
« Respuesta #3 en: 7 Septiembre 2013, 20:38 pm »

Sino hay otra manera más efectiva, entrar a tu correo usando el protocolo POP3 y enviar un email desde tu correo.
Y puedes enviarte un correo a ti mismo si quieres que te quede en bandeja de entrada.

El codigo seguro que lo tienes por la red(google ;D), y va a ser mucho más sencillo simple,y menos problemas.

Salu2!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines