Mail
[ class tree: Mail ] [ index: Mail ] [ all elements ]

Class: Mail2_RFC822

Source Location: /Mail2-0.1.1/Mail2/RFC822.php

Class Overview




Variables

Methods


Inherited Variables

Inherited Methods


Class Details

[line 72]


[ Top ]


Class Variables

$address =  ''

[line 78]

The address being parsed by the RFC822 object.

Type:   string


[ Top ]

$addresses = array()

[line 102]

The array of raw addresses built up as we parse.

Type:   array


[ Top ]

$default_domain =  'localhost'

[line 84]

The default domain to use for unqualified addresses.

Type:   string


[ Top ]

$error =  null

[line 114]

The current error message, if any.

Type:   string


[ Top ]

$index =  null

[line 120]

An internal counter/pointer.

Type:   integer


[ Top ]

$limit =  null

[line 139]

A limit after which processing stops

Type:   int


[ Top ]

$mailRFC822 =  true

[line 133]

A variable so that we can tell whether or not we're inside a Mail_RFC822 object.

Type:   boolean


[ Top ]

$nestGroups =  true

[line 90]

Should we return a nested array showing groups, or flatten everything?

Type:   boolean


[ Top ]

$num_groups =  0

[line 126]

The number of groups that have been found in the address list.

Type:   integer


[ Top ]

$structure = array()

[line 108]

The final array of parsed address information that we build up.

Type:   array


[ Top ]

$validate =  true

[line 96]

Whether or not to validate atoms for non-ascii characters.

Type:   boolean


[ Top ]



Method Detail

__construct (Constructor)   [line 152]

object Mail_RFC822 __construct( [string $address = null], [string $default_domain = null], [boolean $nest_groups = null], [boolean $validate = null], [ $limit = null])

Sets up the object. The address must either be set here or when calling parseAddressList(). One or the other.
  • Return: A new Mail_RFC822 object.
  • Access: public

Parameters:

string   $address   —  The address(es) to validate.
string   $default_domain   —  Default domain/host etc. If not supplied, will be set to localhost.
boolean   $nest_groups   —  Whether to return the structure with groups nested for easier viewing.
boolean   $validate   —  Whether to validate atoms. Turn this off if you need to run addresses through before encoding the personal names, for instance.
   $limit   — 

[ Top ]

approximateCount   [line 898]

int approximateCount( string $data)

Returns an approximate count of how many addresses are in the

given string. This is APPROXIMATE as it only splits based on a comma which has no preceding backslash. Could be useful as large amounts of addresses will end up producing *large* structures when used with parseAddressList().

  • Return: Approximate count

Parameters:

string   $data   —  Addresses to count

[ Top ]

isValidInetAddress   [line 916]

mixed isValidInetAddress( string $data, [boolean $strict = false])

This is a email validating function separate to the rest of the

class. It simply validates whether an email is of the common internet form: <user>@<domain>. This can be sufficient for most people. Optional stricter mode can be utilised which restricts mailbox characters allowed to alphanumeric, full stop, hyphen and underscore.

  • Return: False if it fails, an indexed array username/domain if it matches

Parameters:

string   $data   —  Address to check
boolean   $strict   —  Optional stricter mode

[ Top ]

parseAddressList   [line 172]

array parseAddressList( [string $address = null], [string $default_domain = null], [boolean $nest_groups = null], [boolean $validate = null], [ $limit = null])

Starts the whole process. The address must either be set here or when creating the object. One or the other.
  • Return: A structured array of addresses.
  • Access: public

Parameters:

string   $address   —  The address(es) to validate.
string   $default_domain   —  Default domain/host etc.
boolean   $nest_groups   —  Whether to return the structure with groups nested for easier viewing.
boolean   $validate   —  Whether to validate atoms. Turn this off if you need to run addresses through before encoding the personal names, for instance.
   $limit   — 

[ Top ]

validateMailbox   [line 608]

boolean validateMailbox( string &$mailbox)

Function to validate a mailbox, which is: mailbox = addr-spec ; simple address / phrase route-addr ; name and route-addr
  • Return: Success or failure.
  • Access: public

Parameters:

string   &$mailbox   —  The string to check.

[ Top ]

_hasUnclosedBrackets   [line 392]

boolean _hasUnclosedBrackets( string $string, string $chars)

Checks if a string has an unclosed brackets or not. IMPORTANT: This function handles both angle brackets and square brackets;
  • Return: True if there are unclosed brackets inside the string, false otherwise.
  • Access: protected

Parameters:

string   $string   —  The string to check.
string   $chars   —  The characters to check for.

[ Top ]

_hasUnclosedBracketsSub   [line 416]

integer _hasUnclosedBracketsSub( string $string, integer &$num, string $char)

Sub function that is used only by hasUnclosedBrackets().
  • Return: The number of occurences of $char in $string, adjusted for backslashes.
  • Access: protected

Parameters:

string   $string   —  The string to check.
integer   &$num   —  The number of occurences.
string   $char   —  The character to count.

[ Top ]

_hasUnclosedQuotes   [line 356]

boolean _hasUnclosedQuotes( string $string)

Checks if a string has unclosed quotes or not.
  • Return: True if there are unclosed quotes inside the string, false otherwise.
  • Access: protected

Parameters:

string   $string   —  The string to check.

[ Top ]

_isGroup   [line 300]

boolean _isGroup( string $address)

Checks for a group at the start of the string.
  • Return: Whether or not there is a group at the start of the string.
  • Access: protected

Parameters:

string   $address   —  The address to check.

[ Top ]

_splitAddresses   [line 225]

boolean _splitAddresses( string $address)

Splits an address into separate addresses.
  • Return: Success or failure.
  • Access: protected

Parameters:

string   $address   —  The addresses to split.

[ Top ]

_splitCheck   [line 324]

mixed _splitCheck( array $parts, string $char)

A common function that will check an exploded string.
  • Return: False if the string contains unclosed quotes/brackets, or the string on success.
  • Access: protected

Parameters:

array   $parts   —  The exloded string.
string   $char   —  The char that was exploded on.

[ Top ]

_validateAddress   [line 435]

mixed _validateAddress( string $address)

Function to begin checking the address.
  • Return: False on failure, or a structured array of address information on success.
  • Access: protected

Parameters:

string   $address   —  The address to validate.

[ Top ]

_validateAddrSpec   [line 826]

mixed _validateAddrSpec( string $addr_spec)

Function to validate an addr-spec.

addr-spec = local-part "@" domain

  • Return: False on failure, or the validated addr-spec on success.
  • Access: protected

Parameters:

string   $addr_spec   —  The string to check.

[ Top ]

_validateAtom   [line 559]

boolean _validateAtom( string $atom)

Function to validate an atom which from rfc822 is: atom = 1*<any CHAR except specials, SPACE and CTLs>

If validation ($this->validate) has been turned off, then validateAtom() doesn't actually check anything. This is so that you can split a list of addresses up before encoding personal names (umlauts, etc.), for example.

  • Return: Success or failure.
  • Access: protected

Parameters:

string   $atom   —  The string to check.

[ Top ]

_validateDliteral   [line 813]

boolean _validateDliteral( string $dliteral)

Function to validate a domain literal: domain-literal = "[" *(dtext / quoted-pair) "]"
  • Return: Success or failure.
  • Access: protected

Parameters:

string   $dliteral   —  The string to check.

[ Top ]

_validateDomain   [line 767]

mixed _validateDomain( string $domain)

Function to validate a domain, though this is not quite what you expect of a strict internet domain.

domain = sub-domain *("." sub-domain)

  • Return: False on failure, or the validated domain on success.
  • Access: protected

Parameters:

string   $domain   —  The string to check.

[ Top ]

_validateLocalPart   [line 856]

mixed _validateLocalPart( string $local_part)

Function to validate the local part of an address: local-part = word *("." word)
  • Return: False on failure, or the validated local part on success.
  • Access: protected

Parameters:

string   $local_part   — 

[ Top ]

_validatePhrase   [line 519]

boolean _validatePhrase( string $phrase)

Function to validate a phrase.
  • Return: Success or failure.
  • Access: protected

Parameters:

string   $phrase   —  The phrase to check.

[ Top ]

_validateQuotedString   [line 591]

boolean _validateQuotedString( string $qstring)

Function to validate quoted string, which is: quoted-string = <"> *(qtext/quoted-pair) <">
  • Return: Success or failure.
  • Access: protected

Parameters:

string   $qstring   —  The string to check

[ Top ]

_validateRoute   [line 745]

mixed _validateRoute( string $route)

Function to validate a route, which is: route = 1#("@" domain) ":"
  • Return: False on failure, or the validated $route on success.
  • Access: protected

Parameters:

string   $route   —  The string to check.

[ Top ]

_validateRouteAddr   [line 696]

mixed _validateRouteAddr( string $route_addr)

This function validates a route-addr which is: route-addr = "<" [route] addr-spec ">"

Angle brackets have already been removed at the point of getting to this function.

  • Return: False on failure, or an array containing validated address/route information on success.
  • Access: protected

Parameters:

string   $route_addr   —  The string to check.

[ Top ]

_validateSubdomain   [line 794]

boolean _validateSubdomain( string $subdomain)

Function to validate a subdomain: subdomain = domain-ref / domain-literal
  • Return: Success or failure.
  • Access: protected

Parameters:

string   $subdomain   —  The string to check.

[ Top ]


Documentation generated on Mon, 11 Mar 2019 16:04:25 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.