Как я могу отправить электронную почту с помощью PHP в windows Azure?

Как я могу отправить электронную почту с помощью PHP в windows Azure?

Я использую простую функцию почты:

$to .= 'email-Id'; $subject = " Test Subject"; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $headers .= 'To: '.$to.'' . "\r\n"; $headers .= 'From: '.$name. '<'.$email.'>' . "\r\n"; echo $message='email text here'; @mail($to, $subject, $message, $headers); 

Чтобы отправлять электронные письма с помощью PHP, у вас есть несколько вариантов:

Вариант 1: использование SMTP

Вам нужно будет изменить конфигурационный файл php.ini ( http://php.net/manual/en/ref.mail.php ) и установить значение SMTP на внешний SMTP-сервер, который вы можете использовать. На данный момент серверы SMTP не являются частью функций Windows Azure.

 [mail function] SMTP = mail.mycompany.com 

Вариант 2. Использование sendmail

Вам нужно будет изменить конфигурационный файл php.ini ( http://php.net/manual/en/ref.mail.php ) и установить значение sendmail_path для исполняемого файла sendmail.

 [mail function] sendmail_path = "C:\wamp\sendmail\sendmail.exe -t" 

Поскольку sendmail не существует в Windows, вам нужно использовать поддельный sendmail для Windows : http://glob.com.au/sendmail/

Вариант 3. Использование службы почты / smtp

Вы можете использовать службу SendGrid для отправки своих писем (у них есть предложение для пользователей Azure: http://sendgrid.com/azure.html ). Они позаботятся о отправке электронной почты, вам просто нужно вызвать REST api:

 $sendgrid = new SendGrid('username', 'password'); $mail = new SendGridMail(); $mail->addTo('foo@bar.com')-> setFrom('me@bar.com')-> setSubject('Subject goes here')-> setText('Hello World!')-> setHtml('<strong>Hello World!</strong>'); $sendgrid->smtp->send($mail); 

Я никогда не делал PHP, но следующее руководство было шаг за шагом и невероятно легко работать.

http://www.windowsazure.com/en-us/Documentation/Articles/store-sendgrid-php-how-to-send-email/

Надеюсь, это поможет кому-то.

Email ID ?? что это? Я предполагаю, что это адрес электронной почты получателя.

В ваших заголовках не требуется To: поскольку адрес указан в первом параметре. Если вы не знаете имя получателя и хотите, чтобы он увидел, что письмо было отправлено: Некоторое имя не просто вам не нужно. Также у вас есть ошибка: отсутствует <> до и после адреса электронной почты.

PS Письма электронной почты, отправленные через функцию mail () PHP, имеют одну из самых высоких скоростей завершения SPAM, особенно если у вас нет ключей домена и SPF, установленных в вашем DNS для этого. Если вы используете Cpanel, обратитесь к разделу «Проверка подлинности электронной почты» вашей электронной почты в Cpanel.

У меня были такие же проблемы, но это решение отлично работает для меня. просто выполните следующие действия:

  1. Просто включите двухэтапную аутентификацию на своей учетной записи Gmail.
  2. Перейдите к окну приложения и выберите приложение = другое, а затем введите AzureWebsite и сгенерируйте пароль и сохраните пароль.
  3. заменить

$ mail-> Пароль = 'новый пароль';

4. Я надеюсь, что это сработает и для вас.