Projet Bee-Honey't  1.0
BTS SN 2019
Types publics | Signaux | Fonctions membres publiques | Connecteurs protégés | Attributs protégés | Liste de tous les membres
Référence de la classe SimpleMail::Sender

#include <sender.h>

Graphe de collaboration de SimpleMail::Sender:
Collaboration graph

Types publics

enum  AuthMethod { AuthNone, AuthPlain, AuthLogin }
 
enum  SmtpError {
  ConnectionTimeoutError, ResponseTimeoutError, SendDataTimeoutError, AuthenticationFailedError,
  ServerError, ClientError
}
 
enum  ConnectionType { TcpConnection, SslConnection, TlsConnection }
 
enum  PeerVerificationType { VerifyNone, VerifyPeer }
 

Signaux

void smtpError (SmtpError e)
 
void sslErrors (const QList< QSslError > &sslErrorList)
 

Fonctions membres publiques

 Sender (QObject *parent=0)
 
 Sender (const QString &host, int port, ConnectionType ct, QObject *parent=0)
 
virtual ~Sender ()
 
QString host () const
 
void setHost (const QString &host)
 
int port () const
 
void setPort (int port)
 
QString name () const
 
void setName (const QString &name)
 
ConnectionType connectionType () const
 
void setConnectionType (ConnectionType ct)
 
QString user () const
 
void setUser (const QString &user)
 
QString password () const
 
void setPassword (const QString &password)
 
AuthMethod authMethod () const
 
void setAuthMethod (AuthMethod method)
 
QByteArray responseText () const
 
int responseCode () const
 
int connectionTimeout () const
 
void setConnectionTimeout (int msec)
 
int responseTimeout () const
 
void setResponseTimeout (int msec)
 
int sendMessageTimeout () const
 
void setSendMessageTimeout (int msec)
 
void ignoreSslErrors ()
 ignoreSslErrors tells the socket to ignore all pending ssl errors if SSL encryption is active. Must be called in a direct connected slot/functor Plus de détails...
 
void ignoreSslErrors (const QList< QSslError > &errors)
 ignoreSslErrors tells the socket to ignore the given ssl errors if SSL encryption is active. Must be called in a direct connected slot/functor Plus de détails...
 
void setPeerVerificationType (PeerVerificationType type)
 setPeerVerificationType Defines how the mail-server's SSL certificate should be examined Plus de détails...
 
PeerVerificationType peerVerificationType ()
 peerVerificationType Returns the type of verification done for the mail-server's SSL certificate Plus de détails...
 
bool sendMail (MimeMessage &email)
 
QString lastError () const
 
void quit ()
 

Connecteurs protégés

void socketStateChanged (QAbstractSocket::SocketState state)
 
void socketError (QAbstractSocket::SocketError error)
 
void socketReadyRead ()
 

Attributs protégés

SenderPrivated_ptr
 

Documentation des énumérations membres

◆ AuthMethod

Valeurs énumérées
AuthNone 
AuthPlain 
AuthLogin 
36  {
37  AuthNone,
38  AuthPlain,
39  AuthLogin
40  };
Definition: sender.h:37
Definition: sender.h:39
Definition: sender.h:38

◆ ConnectionType

Valeurs énumérées
TcpConnection 
SslConnection 
TlsConnection 
55  {
58  TlsConnection // STARTTLS
59  };
Definition: sender.h:56
Definition: sender.h:58
Definition: sender.h:57

◆ PeerVerificationType

Valeurs énumérées
VerifyNone 
VerifyPeer 
63  {
64  VerifyNone,
66  };
Definition: sender.h:65
Definition: sender.h:64

◆ SmtpError

Valeurs énumérées
ConnectionTimeoutError 
ResponseTimeoutError 
SendDataTimeoutError 
AuthenticationFailedError 
ServerError 
ClientError 
44  {
49  ServerError, // 4xx smtp error
50  ClientError // 5xx smtp error
51  };
Definition: sender.h:49
Definition: sender.h:50

Documentation des constructeurs et destructeur

◆ Sender() [1/2]

Sender::Sender ( QObject parent = 0)
explicit
26  : QObject(parent)
27  , d_ptr(new SenderPrivate(this))
28 {
30 }
SenderPrivate * d_ptr
Definition: sender.h:226
void setConnectionType(ConnectionType ct)
Definition: sender.cpp:126
Definition: sender.h:56
Definition: sender_p.h:29

◆ Sender() [2/2]

Sender::Sender ( const QString &  host,
int  port,
ConnectionType  ct,
QObject parent = 0 
)

Références host(), port(), et setConnectionType().

32  : QObject(parent)
33  , d_ptr(new SenderPrivate(this))
34 {
35  Q_D(Sender);
36 
38 
39  d->host = host;
40  d->port = port;
41 }
SenderPrivate * d_ptr
Definition: sender.h:226
void setConnectionType(ConnectionType ct)
Definition: sender.cpp:126
Definition: sender_p.h:29
ConnectionType connectionType() const
Definition: sender.cpp:120
QString host() const
Definition: sender.cpp:48
Definition: sender.h:30
int port() const
Definition: sender.cpp:96

◆ ~Sender()

Sender::~Sender ( )
virtual

Références d_ptr.

44 {
45  delete d_ptr;
46 }
SenderPrivate * d_ptr
Definition: sender.h:226

Documentation des fonctions membres

◆ authMethod()

Sender::AuthMethod Sender::authMethod ( ) const

Returns the authenticaion method of the SMTP server

79 {
80  Q_D(const Sender);
81  return d->authMethod;
82 }
Definition: sender.h:30

◆ connectionTimeout()

int Sender::connectionTimeout ( ) const

Returns the connection timeout when connecting to the SMTP server

169 {
170  Q_D(const Sender);
171  return d->connectionTimeout;
172 }
Definition: sender.h:30

◆ connectionType()

Sender::ConnectionType Sender::connectionType ( ) const

Returns the connection type of the SMTP server

Référencé par ignoreSslErrors(), et setConnectionType().

121 {
122  Q_D(const Sender);
123  return d->connectionType;
124 }
Definition: sender.h:30

◆ host()

QString Sender::host ( ) const

Returns the hostname of the SMTP server

Référencé par Sender(), et setHost().

49 {
50  Q_D(const Sender);
51  return d->host;
52 }
Definition: sender.h:30

◆ ignoreSslErrors() [1/2]

void Sender::ignoreSslErrors ( )

Références connectionType(), SslConnection, et TlsConnection.

Référencé par ignoreSslErrors().

203 {
204  Q_D(Sender);
206  {
207  static_cast<QSslSocket*>(d->socket)->ignoreSslErrors();
208  }
209 }
ConnectionType connectionType() const
Definition: sender.cpp:120
Definition: sender.h:30
void ignoreSslErrors()
ignoreSslErrors tells the socket to ignore all pending ssl errors if SSL encryption is active...
Definition: sender.cpp:202
Definition: sender.h:58
Definition: sender.h:57

◆ ignoreSslErrors() [2/2]

void Sender::ignoreSslErrors ( const QList< QSslError > &  errors)
Paramètres
errorsdefines the errors to ignore

Références connectionType(), ignoreSslErrors(), SslConnection, et TlsConnection.

212 {
213  Q_D(Sender);
215  {
216  static_cast<QSslSocket*>(d->socket)->ignoreSslErrors(errors);
217  }
218 }
ConnectionType connectionType() const
Definition: sender.cpp:120
Definition: sender.h:30
void ignoreSslErrors()
ignoreSslErrors tells the socket to ignore all pending ssl errors if SSL encryption is active...
Definition: sender.cpp:202
Definition: sender.h:58
Definition: sender.h:57

◆ lastError()

QString Sender::lastError ( ) const

Référencé par Alertes::envoyerMailAlerte().

239 {
240  Q_D(const Sender);
241  return d->lastError;
242 }
Definition: sender.h:30

◆ name()

QString Sender::name ( ) const

Defines the client's name. This name is sent by the EHLO command. Defaults to the local host name

Référencé par setName().

109 {
110  Q_D(const Sender);
111  return d->name;
112 }
Definition: sender.h:30

◆ password()

QString Sender::password ( ) const

Returns the password that will authenticate on the SMTP server

Référencé par setPassword().

64 {
65  Q_D(const Sender);
66  return d->password;
67 }
Definition: sender.h:30

◆ peerVerificationType()

Sender::PeerVerificationType Sender::peerVerificationType ( )
Renvoie
PeerVerificationType as VerifyNone or VerifyPeer
227 {
228  Q_D(Sender);
229  return d->peerVerificationType;
230 }
Definition: sender.h:30

◆ port()

int Sender::port ( ) const

Returns the port of the SMTP server

Référencé par Sender(), et setPort().

97 {
98  Q_D(const Sender);
99  return d->port;
100 }
Definition: sender.h:30

◆ quit()

void Sender::quit ( )

Référencé par Alertes::envoyerMailAlerte().

245 {
246  Q_D(Sender);
247  d->sendMessage(QByteArrayLiteral("QUIT"));
248 }
Definition: sender.h:30

◆ responseCode()

int Sender::responseCode ( ) const

Returns the response code the SMTP server last returned

163 {
164  Q_D(const Sender);
165  return d->responseCode;
166 }
Definition: sender.h:30

◆ responseText()

QByteArray Sender::responseText ( ) const

Returns the response text the SMTP server last returned

157 {
158  Q_D(const Sender);
159  return d->responseText;
160 }
Definition: sender.h:30

◆ responseTimeout()

int Sender::responseTimeout ( ) const

Returns the response timeout when waiting for a message to be processed by the SMTP server

181 {
182  Q_D(const Sender);
183  return d->responseTimeout;
184 }
Definition: sender.h:30

◆ sendMail()

bool Sender::sendMail ( MimeMessage email)

Référencé par Alertes::envoyerMailAlerte().

233 {
234  Q_D(Sender);
235  return d->sendMail(email);
236 }
Definition: sender.h:30

◆ sendMessageTimeout()

int Sender::sendMessageTimeout ( ) const

Returns the timeout when waiting for a message data to be sent to the SMTP server

192 {
193  Q_D(const Sender);
194  return d->sendMessageTimeout;
195 }
Definition: sender.h:30

◆ setAuthMethod()

void Sender::setAuthMethod ( AuthMethod  method)

Defines the authenticaion method of the SMTP server

85 {
86  Q_D(Sender);
87  d->authMethod = method;
88 }
Definition: sender.h:30

◆ setConnectionTimeout()

void Sender::setConnectionTimeout ( int  msec)

Defines the connection timeout when connecting to the SMTP server

175 {
176  Q_D(Sender);
177  d->connectionTimeout = msec;
178 }
Definition: sender.h:30

◆ setConnectionType()

void Sender::setConnectionType ( ConnectionType  ct)

Defines the connection type of the SMTP server

Références connectionType(), socketError(), socketReadyRead(), socketStateChanged(), SslConnection, sslErrors(), TcpConnection, et TlsConnection.

Référencé par Sender().

127 {
128  Q_D(Sender);
129 
130  d->connectionType = connectionType;
131 
132  delete d->socket;
133 
134  switch (connectionType) {
135  case TcpConnection:
136  d->socket = new QTcpSocket(this);
137  break;
138  case SslConnection:
139  case TlsConnection:
140  d->socket = new QSslSocket(this);
141  d->setPeerVerificationType(d->peerVerificationType);
142  connect(static_cast<QSslSocket*>(d->socket), static_cast<void(QSslSocket::*)(const QList<QSslError> &)>(&QSslSocket::sslErrors),this, &Sender::sslErrors, Qt::DirectConnection);
143  }
144  connect(d->socket, &QTcpSocket::stateChanged, this, &Sender::socketStateChanged);
145  connect(d->socket, static_cast<void(QTcpSocket::*)(QTcpSocket::SocketError)>(&QTcpSocket::error),
146  this, &Sender::socketError);
147  connect(d->socket, &QTcpSocket::readyRead, this, &Sender::socketReadyRead);
148 }
Definition: sender.h:56
void socketStateChanged(QAbstractSocket::SocketState state)
Definition: sender.cpp:250
void sslErrors(const QList< QSslError > &sslErrorList)
ConnectionType connectionType() const
Definition: sender.cpp:120
void socketError(QAbstractSocket::SocketError error)
Definition: sender.cpp:254
Definition: sender.h:30
void socketReadyRead()
Definition: sender.cpp:258
Definition: sender.h:58
Definition: sender.h:57

◆ setHost()

void Sender::setHost ( const QString &  host)

Defines the hostname of the SMTP server

Références host().

91 {
92  Q_D(Sender);
93  d->host = host;
94 }
QString host() const
Definition: sender.cpp:48
Definition: sender.h:30

◆ setName()

void Sender::setName ( const QString &  name)

Defines the client's name. This name is sent by the EHLO command. Defaults to the local host name

Références name().

115 {
116  Q_D(Sender);
117  d->name = name;
118 }
Definition: sender.h:30
QString name() const
Definition: sender.cpp:108

◆ setPassword()

void Sender::setPassword ( const QString &  password)

Defines the password that will authenticate on the SMTP server

Références AuthNone, AuthPlain, et password().

Référencé par Alertes::envoyerMailAlerte().

70 {
71  Q_D(Sender);
72  if (d->authMethod == Sender::AuthNone) {
73  d->authMethod = Sender::AuthPlain;
74  }
75  d->password = password;
76 }
Definition: sender.h:37
Definition: sender.h:38
QString password() const
Definition: sender.cpp:63
Definition: sender.h:30

◆ setPeerVerificationType()

void Sender::setPeerVerificationType ( Sender::PeerVerificationType  type)
Paramètres
typeVerifyNone does not try to verify the identity, VerifyPeer does check on server identity
221 {
222  Q_D(Sender);
223  d->setPeerVerificationType(type);
224 }
Definition: sender.h:30

◆ setPort()

void Sender::setPort ( int  port)

Defines the port of the SMTP server

Références port().

103 {
104  Q_D(Sender);
105  d->port = port;
106 }
Definition: sender.h:30
int port() const
Definition: sender.cpp:96

◆ setResponseTimeout()

void Sender::setResponseTimeout ( int  msec)

Defines the response timeout when waiting for a message to be processed by the SMTP server

187 {
188  Q_D(Sender);
189  d->responseTimeout = msec;
190 }
Definition: sender.h:30

◆ setSendMessageTimeout()

void Sender::setSendMessageTimeout ( int  msec)

Defines the timeout when waiting for a message data to be sent to the SMTP server

197 {
198  Q_D(Sender);
199  d->sendMessageTimeout = msec;
200 }
Definition: sender.h:30

◆ setUser()

void Sender::setUser ( const QString &  user)

Defines the username that will authenticate on the SMTP server

Références AuthNone, AuthPlain, et user().

Référencé par Alertes::envoyerMailAlerte().

55 {
56  Q_D(Sender);
57  if (d->authMethod == Sender::AuthNone) {
58  d->authMethod = Sender::AuthPlain;
59  }
60  d->user = user;
61 }
Definition: sender.h:37
Definition: sender.h:38
Definition: sender.h:30
QString user() const
Definition: sender.cpp:150

◆ smtpError

void SimpleMail::Sender::smtpError ( SmtpError  e)
signal

◆ socketError

void Sender::socketError ( QAbstractSocket::SocketError  error)
protectedslot

Référencé par setConnectionType().

255 {
256 }

◆ socketReadyRead

void Sender::socketReadyRead ( )
protectedslot

Référencé par setConnectionType().

259 {
260 }

◆ socketStateChanged

void Sender::socketStateChanged ( QAbstractSocket::SocketState  state)
protectedslot

Référencé par setConnectionType().

251 {
252 }

◆ sslErrors

void SimpleMail::Sender::sslErrors ( const QList< QSslError > &  sslErrorList)
signal

Référencé par setConnectionType().

◆ user()

QString Sender::user ( ) const

Returns the username that will authenticate on the SMTP server

Référencé par setUser().

151 {
152  Q_D(const Sender);
153  return d->user;
154 }
Definition: sender.h:30

Documentation des données membres

◆ d_ptr

SenderPrivate* SimpleMail::Sender::d_ptr
protected

Référencé par ~Sender().


La documentation de cette classe a été générée à partir des fichiers suivants :