php - 使用 PHP/IIS 发送电子邮件
问题描述
我们正在努力通过 PHP 提交电子邮件。目前我们正在使用以下代码:
<?php
ini_set('display_errors',1);
ini_set("SMTP","smtp.gmail.com");
ini_set("smtp_port","587");
ini_set("auth_username","mymail_address@gmail.com");
ini_set("auth_password","mypassword");
$to = 'mydestination_address@gmail.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: mymail_address@gmail.com';
if(mail($to, $subject, $message, $headers))
{
echo "Success!";
}else
{
echo "Failed.";
}
?>
代码的结果给出以下消息:
警告:mail():SMTP 服务器响应:530 5.7.0 必须首先发出 STARTTLS 命令。e22sm16110599edu.35 - 第 13 行 C:\inetpub\production\mailtest.php 中的 gsmtp 失败。
请注意,我们的应用程序是使用 IIS 使用 PHP 创建的。
解决方案
我认为你可以这样做:
ini_set("SMTP","ssl://smtp.gmail.com");
ini_set("smtp_port","465");
在使用上面的代码之前,请检查您的 PHP 安装是否支持 SSL。
推荐阅读
- php - 如何从 Web 根目录外的 MULTIPLE 目录提供图像?
- firebase - Firebase CLI 数据库:获取请求始终返回 null
- python - 无法在for循环的升序和降序范围内打印
- flutter - Flutter 示例构建问题
- azure - Azure Bot 下载源代码按钮不起作用
- java - 无法将 Spring mvc 部署到 intellij 中的 tomcat
- android - 关于在特定设备上进行电话管理器空值检查期间的错误
- ansible - 如何检查特定端口上的两个节点之间是否可以通信
- c# - 如何仅从文本中删除 url 而忽略 c# 中的其他 url
- python - 如何在缺少数据的情况下使用 tf.data.experimental.make_csv_dataset?