Отправка почты из приложения Qt через SMTP через прокси

Я пытаюсь отправлять автоматические электронные письма из приложения Qt, если пользователь создает новый инцидент. Очевидно, что цель состоит в том, чтобы предупредить других людей об этом инциденте.

Моя проблема на самом деле отправить письмо. я нашел это библиотека BlueTiger9. Это отправитель электронной почты, который, кажется, работает, но, к сожалению, не для меня, и в настоящее время я сталкиваюсь с проблемой, которую не могу объяснить.

Я поместил следующие части своего кода, которые, как я предполагаю, помогут определить, что происходит не так. Если что-то еще нужно, просто дайте мне знать.

В моем файле .pro:

    LIBS += -L$$PWD/ -lSMTPEmail

Я включил файл, который включает в себя все остальные заголовки, и я также добавил все заголовки библиотеки в свой проект.

    #ifndef SMTPMIME_H
#define SMTPMIME_H

#include "smtpclient.h"#include "mimepart.h"#include "mimehtml.h"#include "mimeattachment.h"#include "mimemessage.h"#include "mimetext.h"#include "mimeinlinefile.h"#include "mimefile.h"
#endif // SMTPMIME_H

В каждом включенном заголовке есть еще одно включение следующего кода:

    #ifndef SMTPEXPORTS_H
#define SMTPEXPORTS_H

#ifdef SMTP_BUILD
#define SMTP_EXPORT Q_DECL_EXPORT
#else
#define SMTP_EXPORT Q_DECL_IMPORT
#endif

#endif // SMTPEXPORTS_H

Тогда я просто попытался использовать пример отправки простого электронного письма (я просто добавил настройки прокси):

    SmtpClient smtp("smtp.office365.com", 587, SmtpClient::TlsConnection);
smtp.setUser("USER_Off365");
smtp.setPassword("PASSWORD_Off365");
smtp.setAuthMethod(SmtpClient::AuthLogin);
QNetworkProxy proxy(QNetworkProxy::HttpProxy, "PROXY_ADD", PROXY_PORT, "PROXY_USER", "PROXY_PW");
smtp.getSocket()->setProxy(proxy);
MimeMessage message;
message.setSender(new EmailAddress("MY_ADDRESS", "MY_NAME"));
message.addRecipient(new EmailAddress("ADDRESS_TO", "A_NAME"));
message.setSubject("Subject");

MimeText text;
text.setText("Test");

message.addPart(&text);

if(smtp.connectToHost()){
if(smtp.login()){
if(smtp.sendMail(message)){
smtp.quit();
}
}
}

Но я не могу подключиться к SMTP-серверу. Ошибка, полученная от сокета: «Ошибка связи с HTTP-прокси»

Пытаясь подключиться к Интернету с моего телефона, я могу перейти к следующему шагу, но у меня все еще есть проблема аутентификации.

На всякий случай мне нужно использовать SMTP-сервер Office365 и настройки для подключения к нему доступны на этом страница. (smtp.office365.com / 587 явный / TLS v1-1.2)

Если у кого-то есть идеи, которые могут помочь, это будет очень признательно!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]