cutelyst 4.9.0
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
Cutelyst::ViewEmail Class Reference

A view that sends stash data via e-mail. More...

#include <Cutelyst/Plugins/View/Email/viewemail.h>

Inheritance diagram for Cutelyst::ViewEmail:

Public Types

enum  AuthMethod { AuthNone , AuthPlain , AuthLogin , AuthCramMd5 }
 
enum  ConnectionType { TcpConnection , SslConnection , TlsConnection }
 
- Public Types inherited from Cutelyst::Component
enum  Modifier {
  None , OnlyExecute , BeforeExecute , AroundExecute ,
  AfterExecute
}
 

Signals

void changed ()
 

Public Member Functions

 ViewEmail (QObject *parent, const QString &name=QString())
 
QByteArray defaultCharset () const
 
QByteArray defaultContentType () const
 
QByteArray defaultEncoding () const
 
QByteArray render (Context *c) const override
 
AuthMethod senderAuthMethod () const
 
ConnectionType senderConnectionType () const
 
QString senderHost () const
 
QString senderPassword () const
 
int senderPort () const
 
QString senderUser () const
 
void setDefaultCharset (const QByteArray &charset)
 
void setDefaultContentType (const QByteArray &contentType)
 
void setDefaultEncoding (const QByteArray &encoding)
 
void setSenderAuthMethod (AuthMethod method)
 
void setSenderConnectionType (ConnectionType ct)
 
void setSenderHost (const QString &host)
 
void setSenderPassword (const QString &password)
 
void setSenderPort (int port)
 
void setSenderUser (const QString &user)
 
void setStashKey (const QString &stashKey)
 
QString stashKey () const
 
- Public Member Functions inherited from Cutelyst::View
 View (QObject *parent, const QString &name)
 
virtual ~View () override=default
 
Modifiers modifiers () const override
 
void setMinimalSizeToDeflate (qint32 minSize=-1)
 
- Public Member Functions inherited from Cutelyst::Component
 Component (QObject *parent=nullptr)
 
virtual ~Component () override
 
bool execute (Context *c)
 
virtual bool init (Application *application, const QVariantHash &args)
 
QString name () const noexcept
 
QString reverse () const noexcept
 
void setName (const QString &name)
 
void setReverse (const QString &reverse)
 

Protected Member Functions

 ViewEmail (ViewEmailPrivate *d, QObject *parent, const QString &name=QString())
 
- Protected Member Functions inherited from Cutelyst::View
 View (ViewPrivate *d, QObject *parent, const QString &name)
 
- Protected Member Functions inherited from Cutelyst::Component
 Component (ComponentPrivate *d, QObject *parent=nullptr)
 
virtual bool afterExecute (Context *c)
 
void applyRoles (const QStack< Component * > &roles)
 
virtual bool aroundExecute (Context *c, QStack< Component * > stack)
 
virtual bool beforeExecute (Context *c)
 
virtual bool dispatcherReady (const Dispatcher *dispatch, Controller *controller)
 

Properties

QByteArray defaultCharset
 
QByteArray defaultContentType
 
QByteArray defaultEncoding
 
QString stashKey
 

Detailed Description

ViewEmail is a View handler that sends Context::stash() data via e-mail.

Logging category
cutelyst.view.email
Logging with Cutelyst

Definition at line 23 of file viewemail.h.

Member Enumeration Documentation

◆ AuthMethod

This value defines which kind of authentication should be used

Definition at line 57 of file viewemail.h.

◆ ConnectionType

This value defines which kind of connection should be used

Enumerator
TcpConnection 

Use an unsecured TCP connection.

SslConnection 

Use a SSL/TLS secured connection.

TlsConnection 

Use StartTLS to upgrade an unencrypted connection to use TLS.

Definition at line 49 of file viewemail.h.

Constructor & Destructor Documentation

◆ ViewEmail() [1/2]

ViewEmail::ViewEmail ( QObject * parent,
const QString & name = QString() )
explicit

◆ ViewEmail() [2/2]

ViewEmail::ViewEmail ( ViewEmailPrivate * d,
QObject * parent,
const QString & name = QString() )
protected

Constructs a new ViewEmail object using the private class d, parent and name.

Definition at line 239 of file viewemail.cpp.

References Cutelyst::View::View(), and Cutelyst::Component::name().

Member Function Documentation

◆ defaultCharset()

QByteArray ViewEmail::defaultCharset ( ) const
nodiscard

Returns the default charset for every MIME part with the content type text that is used if there is no charset set in the stash data.

See also
setDefaultCharset()

Definition at line 54 of file viewemail.cpp.

References ViewEmail().

◆ defaultContentType()

QByteArray ViewEmail::defaultContentType ( ) const
nodiscard

Returns the default content type (mime type) that is used if there is no content type set in the stash data. text/plain by default.

See also
setDefaultContentType()

Definition at line 41 of file viewemail.cpp.

References ViewEmail().

◆ defaultEncoding()

QByteArray ViewEmail::defaultEncoding ( ) const
nodiscard

Returns the default encoding that is used if there is no encoding set in the stash data.

See also
setDefaultEncoding()

Definition at line 67 of file viewemail.cpp.

References ViewEmail().

◆ render()

QByteArray ViewEmail::render ( Context * c) const
overridevirtual

Renders and sends the email. This will always return an emty byte array, regardless of mail sending success.

Implements Cutelyst::View.

Reimplemented in Cutelyst::ViewEmailTemplate.

Definition at line 152 of file viewemail.cpp.

References ViewEmail(), Cutelyst::Context::appendError(), and Cutelyst::Context::stash().

Referenced by Cutelyst::ViewEmailTemplate::render().

◆ senderAuthMethod()

ViewEmail::AuthMethod ViewEmail::senderAuthMethod ( ) const
nodiscard

Returns the authenticaion method of the SMTP server.

See also
setSenderAuthMethod()

Definition at line 116 of file viewemail.cpp.

References ViewEmail().

◆ senderConnectionType()

ViewEmail::ConnectionType ViewEmail::senderConnectionType ( ) const
nodiscard

Returns the connection type of the SMTP server.

See also
setSenderConnectionType()

Definition at line 104 of file viewemail.cpp.

References ViewEmail().

◆ senderHost()

QString ViewEmail::senderHost ( ) const
nodiscard

Returns the hostname of the SMTP server.

See also
setSenderHost()

Definition at line 80 of file viewemail.cpp.

References ViewEmail().

◆ senderPassword()

QString ViewEmail::senderPassword ( ) const
nodiscard

Returns the password that will authenticate on the SMTP server.

See also
setSenderPassword()

Definition at line 140 of file viewemail.cpp.

References ViewEmail().

◆ senderPort()

int ViewEmail::senderPort ( ) const
nodiscard

Returns the port of the SMTP server.

See also
setSenderPort()

Definition at line 92 of file viewemail.cpp.

References ViewEmail().

◆ senderUser()

QString ViewEmail::senderUser ( ) const
nodiscard

Returns the username that will authenticate on the SMTP server.

See also
setSenderUser()

Definition at line 128 of file viewemail.cpp.

References ViewEmail().

◆ setDefaultCharset()

void ViewEmail::setDefaultCharset ( const QByteArray & charset)

Defines the default charset for every MIME part with the content type text that is used if there is no charset set in the stash data. According to RFC2049 a MIME part without a charset should be treated as US-ASCII by the mail client. If the charset is not set it won't be set for all MIME parts without an overridden one.

See also
defaultCharset()

Definition at line 60 of file viewemail.cpp.

References ViewEmail().

◆ setDefaultContentType()

void ViewEmail::setDefaultContentType ( const QByteArray & contentType)

Sets the default contentType (mime type) that is used if there is no content type set in the stash data.

See also
defaultContentType()

Definition at line 47 of file viewemail.cpp.

References ViewEmail().

◆ setDefaultEncoding()

void ViewEmail::setDefaultEncoding ( const QByteArray & encoding)

Defines the default encoding that is used if there is no encoding set in the stash data.

See also
defaultEncoding()

Definition at line 73 of file viewemail.cpp.

References ViewEmail().

◆ setSenderAuthMethod()

void ViewEmail::setSenderAuthMethod ( ViewEmail::AuthMethod method)

Defines the authenticaion method of the SMTP server.

See also
senderAuthMethod()

Definition at line 122 of file viewemail.cpp.

References ViewEmail().

◆ setSenderConnectionType()

void ViewEmail::setSenderConnectionType ( ViewEmail::ConnectionType ct)

Defines the connection type of the SMTP server.

See also
senderConnectionType()

Definition at line 110 of file viewemail.cpp.

References ViewEmail().

◆ setSenderHost()

void ViewEmail::setSenderHost ( const QString & host)

Defines the hostname of the SMTP server.

See also
senderHost()

Definition at line 86 of file viewemail.cpp.

References ViewEmail().

◆ setSenderPassword()

void ViewEmail::setSenderPassword ( const QString & password)

Defines the password that will authenticate on the SMTP server.

See also
senderPassword()

Definition at line 146 of file viewemail.cpp.

References ViewEmail().

◆ setSenderPort()

void ViewEmail::setSenderPort ( int port)

Defines the port of the SMTP server.

See also
senderPort()

Definition at line 98 of file viewemail.cpp.

References ViewEmail().

◆ setSenderUser()

void ViewEmail::setSenderUser ( const QString & user)

Defines the username that will authenticate on the SMTP server.

See also
senderUser()

Definition at line 134 of file viewemail.cpp.

References ViewEmail().

◆ setStashKey()

void ViewEmail::setStashKey ( const QString & stashKey)

Defines the stashKey that will contain the email data.

See also
stashKey()

Definition at line 34 of file viewemail.cpp.

References ViewEmail(), and stashKey.

◆ stashKey()

QString ViewEmail::stashKey ( ) const
nodiscard

Returns the stash key that will contain the email data.

See also
setStashKey()

Definition at line 28 of file viewemail.cpp.

References ViewEmail().

Property Documentation

◆ defaultCharset

QByteArray Cutelyst::ViewEmail::defaultCharset
readwrite

The default charset for every MIME part with the content type text that is used if there is no charset set in the stash data.

Definition at line 41 of file viewemail.h.

◆ defaultContentType

QByteArray Cutelyst::ViewEmail::defaultContentType
readwrite

The default content type (mime type) that is used if there is no content type set in the stash data. text/plain by default.

Definition at line 35 of file viewemail.h.

◆ defaultEncoding

QByteArray Cutelyst::ViewEmail::defaultEncoding
readwrite

The default encoding that is used if there is no encoding set in the stash data.

Definition at line 45 of file viewemail.h.

◆ stashKey

QString Cutelyst::ViewEmail::stashKey
readwrite

The stash key that will contain the email data.

Definition at line 30 of file viewemail.h.

Referenced by setStashKey().