He estado buscado la manera de enviar un correo desde tu propia cuenta de gmail a ti mismo mediante c++, gracias al usuario eferion he podido encontrar una implementación lo más simple posible pero en qt (link). El usuario Raivis (en el link) puso a disposición sus archivos fuentes en git y hace exactamente eso, enviar un correo mediante código. Y funciona.
El problema es que quiero adaptar dicho proyecto (qué usa ventanas) al mío que quiero que sea en consola; manejo c++ pero Qt muy poco, pero estuve buscando la forma de hacer esa transformación, enlazando los header y todo. Pero no he logrado hacerlo funcionar, específicamente el error que encuentro es éste:
Uso 4 archivos, que creo son los necesarios para hacer funcionar el programa, los otros creo que son para el manejo de la interfaz. Los 4 son:
- main.cpp
- sendEmail.pro
- smtp.cpp
- smtp.h
Uso Los archivos smtp.cpp y smtp.h son los mismos que usa Raivis en su código. el problema aparece en la función connect que no la reconoce.
Podrían darme algo de luz en éste asunto? muchas gracias!!!
Código C++:
Ver original
////////////////////////////// main.cpp////////////////////////////////////////////////// #include <QCoreApplication> #include <iostream> #include "smtp.h" using namespace std; int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); cout << "Envíar un correo." << endl; connect(smtp, SIGNAL(status(QString)), this, SLOT(mailSent(QString))); // <------------------ Aquí se genera el ERROR cout << "Envíado"; return a.exec(); } //////////////////////////////////////// sendEmail.pro ////////////////////////////////// QT += core QT -= gui CONFIG += c++11 TARGET = sendEmail CONFIG += console CONFIG -= app_bundle TEMPLATE = app SOURCES += main.cpp \ smtp.cpp # The following define makes your compiler emit warnings if you use # any feature of Qt which as been marked deprecated (the exact warnings # depend on your compiler). Please consult the documentation of the # deprecated API in order to know how to port your code away from it. DEFINES += QT_DEPRECATED_WARNINGS # You can also make your code fail to compile if you use deprecated APIs. # In order to do so, uncomment the following line. # You can also select to disable deprecated APIs only up to a certain version of Qt. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 HEADERS += \ smtp.h \
Saludos,