International PHP Conference Berlin 2025

imap_rfc822_parse_adrlist

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_rfc822_parse_adrlistParses an address string

Description

imap_rfc822_parse_adrlist(string $string, string $default_hostname): array

Parses the address string as defined in » RFC2822 and for each address.

Parameters

string

A string containing addresses

default_hostname

The default host name

Return Values

Returns an array of objects. The objects properties are:

  • mailbox - the mailbox name (username)
  • host - the host name
  • personal - the personal name
  • adl - at domain source route

Examples

Example #1 imap_rfc822_parse_adrlist() example

<?php

$address_string
= "Joe Doe <doe@example.com>, postmaster@example.com, root";
$address_array = imap_rfc822_parse_adrlist($address_string, "example.com");
if (!
is_array($address_array) || count($address_array) < 1) {
die(
"something is wrong\n");
}

foreach (
$address_array as $id => $val) {
echo
"# $id\n";
echo
" mailbox : " . $val->mailbox . "\n";
echo
" host : " . $val->host . "\n";
echo
" personal: " . $val->personal . "\n";
echo
" adl : " . $val->adl . "\n";
}
?>

The above example will output:

# 0
  mailbox : doe
  host    : example.com
  personal: Joe Doe
  adl     : 
# 1
  mailbox : postmaster
  host    : example.com
  personal: 
  adl     : 
# 2
  mailbox : root
  host    : example.com
  personal: 
  adl     :

See Also

add a note

User Contributed Notes 1 note

up
1
Rainer Perske
19 years ago
Invalid addresses, if detected, set host to '.SYNTAX-ERROR.'; but not all invalid addresses get detected as such, e.g. <.@host.do.main> is considered
valid though a single dot is not a valid local part without using quotation marks.
To Top