Не воссоздайте колесо для отправки почты! Используйте библиотеку Swift Mailer.
Swift Mailer интегрируется в любое веб-приложение, написанное на PHP 5, предлагая гибкий и элегантный объектно-ориентированный подход к отправке электронных писем с множеством функций, которые легко реализовать.
Из этой статьи вы узнаете, как установить и использовать эту библиотеку.
Монтаж
Предпочтительный способ установки Swiftmailer — через Композитор:
$ composer require swiftmailer/swiftmailer
или добавьте в ваш файл composer.json в блоке require
"swiftmailer/swiftmailer": "v5.4.0",
или если вы используете Symfony 2
"symfony/swiftmailer-bundle": "~2.3",
Если вы не используете Composer, скачайте zip-файл в https://github.com/swiftmailer/swiftmailer
Отправка почты
Алгоритм отправки сообщения очень прост для понимания. Вы создаете транспорт, используете его для создания почтовой программы, а затем используете почтовую программу для отправки сообщения.
Письма могут содержать простой / текст или HTML / текст в зависимости от конфигурации.
Если класс SwiftMailer не существует, не забудьте запросить его с помощью php, если автозагрузчик composer не работал
require_once 'lib/swift_required.php';
Отправка почты из outlook (hotmail)
Отправка почты из outlook немного отличается, так как вы можете видеть, что outlook использует шифрование TLS вместо SSL и использует порт 587.
$transport = \Swift_SmtpTransport::newInstance()
->setUsername('mymail@outlook.com')->setPassword('mypassword')
->setHost('smtp-mail.outlook.com')
->setPort(587)->setEncryption('tls');
$mailer = \Swift_Mailer::newInstance($transport);
$message = \Swift_Message::newInstance()
->setSubject($param['title'])
->setFrom(array('mymail@outlook.com' => 'I am someone'))
->setTo(array('mail@mail.com' => "mail@mail.com"))
->addPart("Welcome",'text/html')
;
$result = $mailer->send($message);
Отправка почты из Google (Gmail)
Google использует шифрование SSL и порт 465. Важно знать, что иногда учетные записи Gmail не позволяют отправлять почту с помощью swiftmailer, и вам необходимо снять флажок «Разрешить использование на небезопасных устройствах» в учетной записи Gmail.
$transport = \Swift_SmtpTransport::newInstance('smtp.gmail.com', 465,'ssl')->setUsername('mymail@gmail.com')->setPassword('mypassword');
$mailer = \Swift_Mailer::newInstance($transport);
$message = \Swift_Message::newInstance('Our Code World Newsletter')
->setFrom(array('mymail@gmail.com' => 'Our Code World'))
->setTo(array("mail@email.com" => "mail@mail.com"))
->setBody("Welcome", 'text/html');
$result = $mailer->send($message);
Отправка почты из zoho (почта zoho)
Zoho использует шифрование SSL и порт 465.
$transport = \Swift_SmtpTransport::newInstance('smtp.zoho.com', 465,'ssl')->setUsername('mymail@gmail.com')->setPassword('mypassword');
$mailer = \Swift_Mailer::newInstance($transport);
$message = \Swift_Message::newInstance('Test')
->setFrom(array('mymail@zoho.com' => 'Our Code World'))
->setTo(array("mail@email.com" => "mail@mail.com"))
->setBody("Welcome", 'text/html');
$mailer->send($message);
Частый вопрос для пользователя swiftmailer: что такое smtp для hotmail, zoho или gmail (или что такое smtp для моей учетной записи электронной почты)?
Хорошо, следующий список содержит множество конфигурации SMTP почтовых клиентов на рынке:
11 | 1and1.com | smtp.1and1.com |
авиапочта | Airmail.net | mail.airmail.net |
AOL | Aol.com | Smtp.aol.com |
ATT | Att.net | Outbound.att.net |
Bluewin | Bluewin.ch | smtpauths.bluewin.ch |
BT Connect | Btconnect.com | mail.btconnect.tom |
Comcast | Comcast.net | smtp.comcast.net |
Earthlink | Earthlink.net | smtpauth.earthlink.net |
Gmail | Gmail.com | smtp.gmail.com |
Gmx | Gmx.net | mail.gmx.net |
HotPop | Hotpop.com | mail.hotpop.com |
Libero | Libero.it | mail.libero.it |
Lycos | Lycos.com | smtp.lycos.com |
O2 | o2.com | smtp.o2.com |
оранжевый | Orange.net | smtp.orange.net |
Outlook.com (бывший Hotmail) | Outlook.com | smtp.live.com |
Банка | Tin.it | Mail.tin.it |
Tiscali | Tiscali.co.uk | smtp.tiscali.co.uk |
Verizon | Verizon.net | outgoing.verizon.net |
девственница | Virgin.net | smtp.virgin.net |
Wanadoo | Wanadoo.fr | smtp.wanadoo.fr |
Yahoo | Yahoo.com | smtp.mail.yahoo.com |
Zoho | zoho.com/mail/ | smtp.zoho.com |
Основное наше: http://www.serversmtp.com/en/what-is-my-smtp
кусок пирога нет? Пожалуйста, поделитесь этой статьей, если она была полезна для вас.