• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepimlibs API Reference
  • KDE Home
  • Contact Us
 

kpimutils

Enumerations | Functions
Email Validation Functions

Enumerations

enum  KPIMUtils::EmailParseResult {
  KPIMUtils::AddressOk, KPIMUtils::AddressEmpty, KPIMUtils::UnexpectedEnd, KPIMUtils::UnbalancedParens,
  KPIMUtils::MissingDomainPart, KPIMUtils::UnclosedAngleAddr, KPIMUtils::UnopenedAngleAddr, KPIMUtils::TooManyAts,
  KPIMUtils::UnexpectedComma, KPIMUtils::TooFewAts, KPIMUtils::MissingLocalPart, KPIMUtils::UnbalancedQuote,
  NoAddressSpec, KPIMUtils::DisallowedChar, KPIMUtils::InvalidDisplayName, KPIMUtils::TooFewDots
}
 

Functions

QString KPIMUtils::emailParseResultToString (EmailParseResult errorCode)
 
EmailParseResult KPIMUtils::isValidAddress (const QString &aStr)
 
EmailParseResult KPIMUtils::isValidAddressList (const QString &aStr, QString &badAddr)
 
bool KPIMUtils::isValidSimpleAddress (const QString &aStr)
 
QString KPIMUtils::simpleEmailAddressErrorMsg ()
 
EmailParseResult KPIMUtils::splitAddress (const QByteArray &address, QByteArray &displayName, QByteArray &addrSpec, QByteArray &comment)
 
EmailParseResult KPIMUtils::splitAddress (const QString &address, QString &displayName, QString &addrSpec, QString &comment)
 
QStringList KPIMUtils::splitAddressList (const QString &aStr)
 

Detailed Description

This collection of methods that can validate email addresses as supplied by the user (typically, user input from a text box).

There are also functions for splitting an RFC2822 address into its component parts.

Enumeration Type Documentation

enum KPIMUtils::EmailParseResult

Email validation result.

The only 'success' code in this enumeration is AddressOK; all the other values indicate some specific problem with the address which is being validated.

Result type for splitAddress(), isValidAddress() and isValidSimpleAddress().

Enumerator
AddressOk 

Email is valid.

AddressEmpty 

The address is empty.

UnexpectedEnd 

Something is unbalanced.

UnbalancedParens 

Unbalanced ( )

MissingDomainPart 

No domain in address.

UnclosedAngleAddr 

< with no matching >

UnopenedAngleAddr 

> with no preceding <

TooManyAts 

More than one @ in address.

UnexpectedComma 

Comma not allowed here.

TooFewAts 

Missing @ in address.

MissingLocalPart 

No address specified, only domain.

UnbalancedQuote 

Quotes (single or double) not matched.

DisallowedChar 

An invalid character detected in address.

InvalidDisplayName 

An invalid displayname detected in address.

TooFewDots 

Missing .

in address

Definition at line 63 of file email.h.

Function Documentation

QString KPIMUtils::emailParseResultToString ( EmailParseResult  errorCode)

Translate the enum errorcodes from emailParseResult into i18n'd strings that can be used for msg boxes.

Parameters
errorCodean error code returned from one of the email validation functions. Do not pass AddressOk as a value, since that will yield a misleading error message
Returns
human-readable and already translated message describing the validation error.

Definition at line 545 of file email.cpp.

EmailParseResult KPIMUtils::isValidAddress ( const QString &  aStr)

Validates an email address in the form of "Joe User" joe@e.nosp@m.xamp.nosp@m.le.or.nosp@m.g.

Returns AddressOk if no error was encountered. Otherwise an appropriate error code is returned.

Parameters
aStra single email address, example: Joe User (comment1) joe.u.nosp@m.ser@.nosp@m.examp.nosp@m.le.o.nosp@m.rg
Returns
AddressOk if no error was encountered. Otherwise an appropriate error code is returned.

Definition at line 315 of file email.cpp.

KPIMUtils::EmailParseResult KPIMUtils::isValidAddressList ( const QString &  aStr,
QString &  badAddr 
)

Validates a list of email addresses, and also allow aliases and distribution lists to be expanded before validation.

Parameters
aStra string containing a list of email addresses.
badAddra string to hold the address that was faulty.
Returns
AddressOk if no error was encountered. Otherwise an appropriate error code is returned.

Definition at line 522 of file email.cpp.

bool KPIMUtils::isValidSimpleAddress ( const QString &  aStr)

Validates an email address in the form of joe@e.nosp@m.xamp.nosp@m.le.or.nosp@m.g.

Returns true if no error was encountered. This method should be used when the input field should not allow a "full" email address with comments and other special cases that normally are valid in an email address.

Parameters
aStra single email address, example: joe.u.nosp@m.ser@.nosp@m.examp.nosp@m.le.o.nosp@m.rg
Returns
true if no error was encountered.
Note
This method differs from calling isValidAddress() and checking that that returns AddressOk in two ways: it is faster, and it does not allow fancy addresses.

Definition at line 609 of file email.cpp.

QString KPIMUtils::simpleEmailAddressErrorMsg ( )

Returns a i18n string to be used in msgboxes.

This allows for error messages to be the same across the board.

Returns
An i18n ready string for use in msgboxes.

Definition at line 666 of file email.cpp.

EmailParseResult KPIMUtils::splitAddress ( const QByteArray &  address,
QByteArray &  displayName,
QByteArray &  addrSpec,
QByteArray &  comment 
)

Splits the given address into display name, email address and comment.

Returns AddressOk if no error was encountered. Otherwise an appropriate error code is returned. In case of an error the values of displayName, addrSpec and comment are undefined.

Parameters
addressa single email address, example: Joe User (comment1) joe.u.nosp@m.ser@.nosp@m.examp.nosp@m.le.o.nosp@m.rg (comment2)
displayNameonly out: the display-name of the email address, i.e. "Joe User" in the example; in case of an error the return value is undefined
addrSpeconly out: the addr-spec, i.e. "joe.user@example.org" in the example; in case of an error the return value is undefined
commentonly out: the space-separated comments, i.e. "comment1 comment2" in the example; in case of an error the return value is undefined
Returns
AddressOk if no error was encountered. Otherwise an appropriate error code is returned.

Definition at line 286 of file email.cpp.

EmailParseResult KPIMUtils::splitAddress ( const QString &  address,
QString &  displayName,
QString &  addrSpec,
QString &  comment 
)

This is an overloaded member function, provided for convenience.

It behaves essentially like the above function.

Splits the given address into display name, email address and comment. Returns AddressOk if no error was encountered. Otherwise an appropriate error code is returned. In case of an error the values of displayName, addrSpec and comment are undefined.

Parameters
addressa single email address, example: Joe User (comment1) joe.u.nosp@m.ser@.nosp@m.examp.nosp@m.le.o.nosp@m.rg (comment2)
displayNameonly out: the display-name of the email address, i.e. "Joe User" in the example; in case of an error the return value is undefined
addrSpeconly out: the addr-spec, i.e. "joe.user@example.org" in the example; in case of an error the return value is undefined
commentonly out: the space-separated comments, i.e. "comment1 comment2" in the example; in case of an error the return value is undefined
Returns
AddressOk if no error was encountered. Otherwise an appropriate error code is returned.

Definition at line 296 of file email.cpp.

QStringList KPIMUtils::splitAddressList ( const QString &  aStr)

Split a comma separated list of email addresses.

Parameters
aStra single string representing a list of addresses
Returns
a list of strings, where each string is one address from the original list

Definition at line 45 of file email.cpp.

This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:37:25 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kpimutils

Skip menu "kpimutils"
  • Main Page
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • Modules
  • Related Pages

kdepimlibs API Reference

Skip menu "kdepimlibs API Reference"
  • akonadi
  •   contact
  •   kmime
  •   socialutils
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmbox
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal