PHP имеет встроенные функции для отправки почтовых сообщений однако обычно такие письма сразу же попадают в спам. Поэтому необходимо использовать API для отправки электронных писем, которые будут попадать именно в папку «Входящие» почтового ящика адресата, а не в спам. Большинство APIплатные, но если вам необходимо с чего-то начать нужен бесплатный сервис. Тут на сцене появляется Mailgun. 10.000 электронных писем бесплатно каждый месяц. Регистрация также бесплатная, данные кредитной карты не требуются.
Зарегистрируйтесь на https://mailgun.com/signup и войдите в свой аккаунт. Для использования сервиса вам понадобиться Mailgun API Key а также указать свой домен. Также необходимо будет подвердить право владения доменом. Без этого, количество писем будет ограничено 300 в сутки.
Перейдите на https://mailgun.com/cp/my_account и в левом верхнем углу вы увидите свой API Key, строка вида key-3358fhrhs333dsj43e3e5532.
Mailgun предлагает собственный класс для отсылки сообщений, однако здесь я бы хотел бы поделиться более простым решением на базе PHP + cURL. На базе cURL написана функция send_mail:
<? function send_mail($email,$subject,$msg) {
$api_key="";/* Api Key got from https://mailgun.com/cp/my_account */
$domain ="";/* Domain Name you given to Mailgun */
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, 'api:'.$api_key);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_URL, 'https://api.mailgun.net/v2/'.$domain.'/messages');
curl_setopt($ch, CURLOPT_POSTFIELDS, array( 'from' => 'Open <mail@youriste.com>',
'to' => $email,
'subject' => $subject,
'html' => $msg
));
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
?>
Не забудьте задать переменные $api_key и $domain.
Теперь можно отсылать письма, передавая в функцию параметры:
$email - адрес получателя
$subject - тема письма
$msg - тело письма
Пример:
<?
send_mail("receiver@domain.com", "Hello!", "Have a nice day!");
?>
2019-03-20T13:08:44
Без рубрики