Important: Please read the Qt Code of Conduct -

To send HTML format Mail using QTCPSocket

  • i am using qt4
    i had completed to send a Plain text
    now i need to send HTML format text
    i had send the HTML content that is without any header any header is given for eg.. To , From and Subject
    only the Body Content
    i attached my coding down plz give some tips

    Smtp::Smtp( const QString &from, const QString &to, const QString &subject , const QString &body ,const QString &address,int port)
    socket = new QTcpSocket(this);

    connect( socket, SIGNAL(readyRead()), this, SLOT( readyRead() ) );
    connect( socket, SIGNAL( connected()), this, SLOT( connected() ) );
    connect(socket, SIGNAL(disconnected()), this,SLOT(disconnected()));

    message = "To: " + to + "\n";

    message.append("From: " + from + "\n");

    message.append("Subject: " + subject + "\n");

    //Let's intitiate multipart MIME with cutting boundary "frontier"
    message.append("MIME-Version: 1.0\n");

    message.append("Content-Type: multipart/mixed; boundary=frontier\n\n");

    message.append( "--frontier\n" );

    message.append( "Content-Type: text/html\n\n" );



    message.append( "- -frontier- -\n" );

    message.replace( QString::fromLatin1( "\n" ), QString::fromLatin1( "\r\n" ) );

    message.replace( QString::fromLatin1( "\r\n.\r\n" ),QString::fromLatin1( "\r\n..\r\n" ) );

    this->from = from;

    rcpt = to;

    state = Init;

    socket->connectToHost( address,port);//"", 25);

    t = new QTextStream( socket );

    if(socket->waitForConnected ( 30000 ))

    {qDebug("connected"); }


  • Please use @ to wrap your code. It is very difficult to read it if it is not properly displayed. Do you set that this is text/html email at the header?

  • I had placed the header Part correctly


  • [quote author="$ATHEES" date="1378357142"]I had placed the header Part correctly



    You are welcome. Please edit the title and add prefix [SOLVED].

Log in to reply