如何在windows Azure上使用PHP发送电子邮件?
如何在windows Azure上使用PHP发送电子邮件 我正在使用简单邮件功能:如何在windows Azure上使用PHP发送电子邮件?,php,azure,Php,Azure,如何在windows Azure上使用PHP发送电子邮件 我正在使用简单邮件功能: $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 .= 'F
$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);
$to.='email Id';
$subject=“测试对象”;
$headers='MIME版本:1.0'。“\r\n”;
$headers.='内容类型:文本/html;字符集=iso-8859-1'。“\r\n”;
$headers.='To:'.$To'。“\r\n”;
$headers.='From:'.$name'。“\r\n”;
echo$message='email text here';
@邮件($to、$subject、$message、$headers);
电子邮件Id??这是什么?
我猜是收件人的电子邮件地址
由于在第一个参数中指定了To地址,因此您的头不需要To:。
除非你知道收件人的名字,并希望他看到电子邮件发送到:一些名字,而不仅仅是你不需要的。
此外,您还有一个错误:电子邮件地址前后缺失
另外,通过PHP的mail()函数发送的电子邮件以垃圾邮件告终的比率最高,特别是如果您的DNS中没有为此设置域密钥和SPF。
如果使用Cpanel,请参阅Cpanel中电子邮件组的电子邮件身份验证部分。要使用PHP发送电子邮件,您有几个选项: 选项1:使用SMTP 您需要修改php.ini配置文件(),并将SMTP值设置为可以使用的外部SMTP服务器。SMTP服务器目前不是Windows Azure功能的一部分
[mail function]
SMTP = mail.mycompany.com
选项2:使用sendmail
您需要修改php.ini配置文件(),并将sendmail\u路径值设置为sendmail可执行文件
[mail function]
sendmail_path = "C:\wamp\sendmail\sendmail.exe -t"
由于Windows中不存在sendmail,您需要使用Windows的假sendmail:
选项3:使用邮件/smtp服务
您可以使用SendGrid之类的服务发送电子邮件(他们为Azure用户提供了服务:)。他们将负责发送电子邮件,您只需调用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);
$sendgrid=newsendgrid('username','password');
$mail=new SendGridMail();
$mail->addTo($mail)foo@bar.com')->
设置自('me@bar.com')->
setSubject('主题在这里')->
setText(“你好,世界!”)->
setHtml(“你好,世界!”);
$sendgrid->smtp->send($mail);
我从未使用过PHP,但下面的指南是一步一步完成的,非常容易使用
希望它能帮助别人。我也遇到过同样的问题,但这个解决方案对我来说非常有效。 只需遵循以下步骤:
4.我希望这也会对您有用。更新信息@2017年11月: 博客全文: 发送电子邮件的推荐方法
“Microsoft建议Azure客户使用经过身份验证的SMTP中继服务(通常通过TCP端口587或443连接,但通常也支持其他端口)…”这是示例代码,下面是管理员id,$to=”admin@site.com'; 在其他服务器上发送的电子邮件,但它不适用于windows azure。这如何适用于azure网站?它适用于100%。您可以通过覆盖Azure上的php.ini设置来更改它们。在这里查看信息我以前做过PHP。这是可行的,但确实涉及到相当多的步骤,我觉得这并不是“难以置信的容易”。但最重要的是,它确实起了作用——最终。设置SendGrid也是值得的,它看起来像Azure中一个有用的附加组件。