class IdnAddressEncoder
An IDN email address encoder.
Encodes the domain part of an address using IDN. This is compatible will all SMTP servers.
Note: It leaves the local part as is. In case there are non-ASCII characters in the local part then it depends on the SMTP Server if this is supported.
@author Christian Schmidt
Hierarchy
- class \Symfony\Component\Mime\Encoder\IdnAddressEncoder implements \Symfony\Component\Mime\Encoder\AddressEncoderInterface
Expanded class hierarchy of IdnAddressEncoder
1 file declares its use of IdnAddressEncoder
- Address.php in vendor/
symfony/ mime/ Address.php
File
-
vendor/
symfony/ mime/ Encoder/ IdnAddressEncoder.php, line 25
Namespace
Symfony\Component\Mime\EncoderView source
final class IdnAddressEncoder implements AddressEncoderInterface {
/**
* Encodes the domain part of an address using IDN.
*/
public function encodeString(string $address) : string {
$i = strrpos($address, '@');
if (false !== $i) {
$local = substr($address, 0, $i);
$domain = substr($address, $i + 1);
if (preg_match('/[^\\x00-\\x7F]/', $domain)) {
$address = \sprintf('%s@%s', $local, idn_to_ascii($domain, \IDNA_DEFAULT | \IDNA_USE_STD3_RULES | \IDNA_CHECK_BIDI | \IDNA_CHECK_CONTEXTJ | \IDNA_NONTRANSITIONAL_TO_ASCII, \INTL_IDNA_VARIANT_UTS46));
}
}
return $address;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title |
---|---|---|---|---|
IdnAddressEncoder::encodeString | public | function | Encodes the domain part of an address using IDN. | Overrides AddressEncoderInterface::encodeString |