cutelyst  4.4.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)
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
QBindable< QStringbindableObjectName ()
 
bool blockSignals (bool block)
 
const QObjectListchildren () const const
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectInfo () const const
 
void dumpObjectTree () const const
 
QList< QByteArraydynamicPropertyNames () const const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isQuickItemType () const const
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const const
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
QVariant property (const char *name) const const
 
 Q_CLASSINFO (Name, Value)
 
 Q_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_GADGET_EXPORT (EXPORT_MACRO)
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_MOC_INCLUDE Q_MOC_INCLUDE
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_OBJECT Q_OBJECT
 
 Q_PROPERTY (...)
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SLOT Q_SLOT
 
 Q_SLOTS Q_SLOTS
 
qobject_cast (const QObject *object)
 
qobject_cast (QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setObjectName (QAnyStringView name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool setProperty (const char *name, QVariant &&value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds interval, Qt::TimerType timerType)
 
QThreadthread () const const
 

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)
 
- Protected Member Functions inherited from QObject
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
int receivers (const char *signal) const const
 
QObjectsender () const const
 
int senderSignalIndex () const const
 
virtual void timerEvent (QTimerEvent *event)
 

Properties

QByteArray defaultCharset
 
QByteArray defaultContentType
 
QByteArray defaultEncoding
 
QString stashKey
 
- Properties inherited from QObject
 objectName
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
- Public Attributes inherited from QObject
typedef QObjectList
 

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

Constructs a new ViewEmail object with the given parent and name.

The name can be used to specify different views that can be called either dynamically by Context::setCustomView() or with the :View() argument of the RenderView action.

Definition at line 22 of file viewemail.cpp.

◆ 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.

Member Function Documentation

◆ defaultCharset()

QByteArray ViewEmail::defaultCharset ( ) const

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.

◆ defaultContentType()

QByteArray ViewEmail::defaultContentType ( ) const

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.

◆ defaultEncoding()

QByteArray ViewEmail::defaultEncoding ( ) const

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.

◆ 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 Cutelyst::Context::appendError(), QObject::connect(), QVariant::isNull(), QMetaType::QString, QMetaType::QStringList, Cutelyst::Context::stash(), QVariant::toList(), QVariant::toString(), and QVariant::value().

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

◆ senderAuthMethod()

ViewEmail::AuthMethod ViewEmail::senderAuthMethod ( ) const

Returns the authenticaion method of the SMTP server.

See also
setSenderAuthMethod()

Definition at line 116 of file viewemail.cpp.

◆ senderConnectionType()

ViewEmail::ConnectionType ViewEmail::senderConnectionType ( ) const

Returns the connection type of the SMTP server.

See also
setSenderConnectionType()

Definition at line 104 of file viewemail.cpp.

◆ senderHost()

QString ViewEmail::senderHost ( ) const

Returns the hostname of the SMTP server.

See also
setSenderHost()

Definition at line 80 of file viewemail.cpp.

◆ senderPassword()

QString ViewEmail::senderPassword ( ) const

Returns the password that will authenticate on the SMTP server.

See also
setSenderPassword()

Definition at line 140 of file viewemail.cpp.

◆ senderPort()

int ViewEmail::senderPort ( ) const

Returns the port of the SMTP server.

See also
setSenderPort()

Definition at line 92 of file viewemail.cpp.

◆ senderUser()

QString ViewEmail::senderUser ( ) const

Returns the username that will authenticate on the SMTP server.

See also
setSenderUser()

Definition at line 128 of file viewemail.cpp.

◆ 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 QObject::Q_EMIT().

◆ 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 QObject::Q_EMIT().

◆ 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 QObject::Q_EMIT().

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ setSenderPort()

void ViewEmail::setSenderPort ( int  port)

Defines the port of the SMTP server.

See also
senderPort()

Definition at line 98 of file viewemail.cpp.

◆ 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.

◆ 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 QObject::Q_EMIT(), and stashKey.

◆ stashKey()

QString ViewEmail::stashKey ( ) const

Returns the stash key that will contain the email data.

See also
setStashKey()

Definition at line 28 of file viewemail.cpp.

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 1 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 1 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 1 of file viewemail.h.

◆ stashKey

QString Cutelyst::ViewEmail::stashKey
readwrite

The stash key that will contain the email data.

Definition at line 1 of file viewemail.h.

Referenced by setStashKey().