MediaWiki  master
MailAddress.php
Go to the documentation of this file.
1 <?php
32 class MailAddress {
36  public $name;
37 
41  public $realName;
42 
46  public $address;
47 
53  public function __construct( $address, $name = null, $realName = null ) {
54  $this->address = strval( $address );
55  $this->name = strval( $name );
56  $this->realName = strval( $realName );
57  }
58 
66  public static function newFromUser( User $user ) {
67  return new MailAddress( $user->getEmail(), $user->getName(), $user->getRealName() );
68  }
69 
74  public function toString() {
75  if ( !$this->address ) {
76  return '';
77  }
78 
79  # PHP's mail() implementation under Windows is somewhat shite, and
80  # can't handle "Joe Bloggs <joe@bloggs.com>" format email addresses,
81  # so don't bother generating them
82  if ( $this->name === '' || wfIsWindows() ) {
83  return $this->address;
84  }
85 
86  global $wgEnotifUseRealName;
87  $name = ( $wgEnotifUseRealName && $this->realName !== '' ) ? $this->realName : $this->name;
89  // Must only be quoted if string does not use =? encoding (T191931)
90  if ( $quoted === $name ) {
91  $quoted = '"' . addslashes( $quoted ) . '"';
92  }
93 
94  return "$quoted <{$this->address}>";
95  }
96 
97  public function __toString() {
98  return $this->toString();
99  }
100 }
getEmail()
Get the user&#39;s e-mail address.
Definition: User.php:2798
string $realName
Definition: MailAddress.php:41
$wgEnotifUseRealName
Use real name instead of username in e-mail "from" field.
string $name
Definition: MailAddress.php:36
getRealName()
Get the user&#39;s real name.
Definition: User.php:2888
wfIsWindows()
Check if the operating system is Windows.
getName()
Get the user name, or the IP of an anonymous user.
Definition: User.php:2229
The User object encapsulates all of the user-specific settings (user_id, name, rights, email address, options, last login time).
Definition: User.php:51
Stores a single person&#39;s name and email address.
Definition: MailAddress.php:32
toString()
Return formatted and quoted address to insert into SMTP headers.
Definition: MailAddress.php:74
static newFromUser(User $user)
Create a new MailAddress object for the given user.
Definition: MailAddress.php:66
string $address
Definition: MailAddress.php:46
__construct( $address, $name=null, $realName=null)
Definition: MailAddress.php:53
static quotedPrintable( $string, $charset='')
Converts a string into quoted-printable format.
Definition: UserMailer.php:510