@make_luv

Почему не отправляется почта с Azure через Sendgrid?

Привет.
На Azure есть сайт с формой фидбека, при сабмите которой посредством CURL все передается в Sendgrid, которая непосредственно осуществляет отправку.
Так сделана отправка почты в Azure, замена пхпшному mail().

Проблема в том, что в сендгрид ничего не передается. Проверял код на других хостингах - всё ок, Sendgrid получает данные и письмо приходит, а на азуре не работает.

Вот скрипт который осуществляет передачу:

<?php
// use actual sendgrid username and password in this section
$url = 'https://api.sendgrid.com/';
$user = '******'; // place SG username here
$pass = '******'; // place SG password here

// grabs HTML form's post data; if you customize the form.html parameters then you will need to reference their new new names here
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];


// note the above parameters now referenced in the 'subject', 'html', and 'text' sections
// make the to email be your own address or where ever you would like the contact form info sent
$params = array(
'api_user' => "$user",
'api_key' => "$pass",
'to' => "*@***.**", // set TO address to have the contact form's email content sent to
'subject' => "Contact Form Submission", // Either give a subject for each submission, or set to $subject
'html' => " Contact Form
Name: $name\n

Email: $email\n

Subject: $subject\n

Message: $message ", // Set HTML here. Will still need to make sure to reference post data names
'text' => "
Name: $name\n
Email: $email\n
Subject: $subject\n
$message",
'from' => "contact@yourdomain.com", // set from address here, it can really be anything
);


$request = $url.'api/mail.send.json';


// Generate curl request
$session = curl_init($request);

curl_setopt($session, CURLOPT_SSLVERSION, 6);

// Tell curl to use HTTP POST
curl_setopt ($session, CURLOPT_POST, true);
// Tell curl that this is the body of the POST
curl_setopt ($session, CURLOPT_POSTFIELDS, $params);
// Tell curl not to return headers, but do return the response
curl_setopt($session, CURLOPT_HEADER, false);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);

// obtain response
$response = curl_exec($session);
curl_close($session);

// Redirect to thank you page upon successfull completion, will want to build one if you don't alreday have one available
//header('Location: thanks.html'); // feel free to use whatever title you wish for thank you landing page, but will need to reference that file name in place of the present 'thanks.html'
exit();

// print everything out
print_r($response);

?>

В мсдн рекомендуют написать тикет, но у дебильногог мс чтоб получить помощь надо покупать план поддержки, который совсем не хочется покупать, т.к. ничего не работает.

С поддержкой Sendgrid общались неделю, в итоге выяснили, что проблема на стороне МС.

Повторяю - код рабочий, на регру, например работает. Ошибок в пхп логе нет на азуре.

Может кто-нибудь сталкивался с подобным поведением Azure Websites?

Буду очень признателен за любую помощь.
  • Вопрос задан
  • 2618 просмотров
Решения вопроса 1
@make_luv Автор вопроса
Вопрос решил переписыванием на .NET.
PHP - в печь.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы