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 }
MailAddress\$name
string $name
Definition: MailAddress.php:36
UserMailer\quotedPrintable
static quotedPrintable( $string, $charset='')
Converts a string into quoted-printable format.
Definition: UserMailer.php:510
MailAddress\$realName
string $realName
Definition: MailAddress.php:41
MailAddress\toString
toString()
Return formatted and quoted address to insert into SMTP headers.
Definition: MailAddress.php:74
MailAddress\newFromUser
static newFromUser(User $user)
Create a new MailAddress object for the given user.
Definition: MailAddress.php:66
MailAddress
Stores a single person's name and email address.
Definition: MailAddress.php:32
User\getEmail
getEmail()
Get the user's e-mail address.
Definition: User.php:2626
$wgEnotifUseRealName
$wgEnotifUseRealName
Use real name instead of username in e-mail "from" field.
Definition: DefaultSettings.php:1947
MailAddress\__construct
__construct( $address, $name=null, $realName=null)
Definition: MailAddress.php:53
wfIsWindows
wfIsWindows()
Check if the operating system is Windows.
Definition: GlobalFunctions.php:1844
User\getRealName
getRealName()
Get the user's real name.
Definition: User.php:2717
User
The User object encapsulates all of the user-specific settings (user_id, name, rights,...
Definition: User.php:55
MailAddress\$address
string $address
Definition: MailAddress.php:46
User\getName
getName()
Get the user name, or the IP of an anonymous user.
Definition: User.php:2137
MailAddress\__toString
__toString()
Definition: MailAddress.php:97