PluginProbe
WPFunnels – Funnel Builder for WooCommerce with Checkout & One Click Upsell / 2.8.16
WPFunnels – Funnel Builder for WooCommerce with Checkout & One Click Upsell v2.8.16
3.13.3 3.13.2 3.13.1 3.13.0 3.12.13 3.12.12 3.12.11 3.12.10 3.12.9 3.12.8 3.12.7 3.12.6 3.12.5 3.12.4 3.12.3 3.12.1 3.12.2 3.12.0 3.11.1 3.11.0 3.10.9 3.10.8 3.10.7 3.10.6 2.8.16 All 261 releases
wpfunnels / vendor / symfony / mime / Encoder / IdnAddressEncoder.php

IdnAddressEncoder.php in WPFunnels – Funnel Builder for WooCommerce with Checkout & One Click Upsell 2.8.16, at vendor/symfony/mime/Encoder/IdnAddressEncoder.php

45 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <[email protected]>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12 namespace Symfony\Component\Mime\Encoder;
13
14 /**
15 * An IDN email address encoder.
16 *
17 * Encodes the domain part of an address using IDN. This is compatible will all
18 * SMTP servers.
19 *
20 * Note: It leaves the local part as is. In case there are non-ASCII characters
21 * in the local part then it depends on the SMTP Server if this is supported.
22 *
23 * @author Christian Schmidt
24 */
25 final class IdnAddressEncoder implements AddressEncoderInterface
26 {
27 /**
28 * Encodes the domain part of an address using IDN.
29 */
30 public function encodeString(string $address): string
31 {
32 $i = strrpos($address, '@');
33 if (false !== $i) {
34 $local = substr($address, 0, $i);
35 $domain = substr($address, $i + 1);
36
37 if (preg_match('/[^\x00-\x7F]/', $domain)) {
38 $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));
39 }
40 }
41
42 return $address;
43 }
44 }
45