【问题标题】:how to get a php form work on google cloud instance?如何让 php 表单在谷歌云实例上工作?
【发布时间】:2020-10-28 19:48:42
【问题描述】:

我有一个带有简单 php 表单的静态网站,它显示已发送的消息,但我没有收到任何电子邮件

我正在使用 Google 云实例、Cloudflare 和 Zoho 邮件服务, 在 OVH VPS 上一切正常,但自从我迁移到 Google 云后,它就停止工作了

谷歌会阻止用于发送此电子邮件的内容吗?

这是我的 php 代码:

    <?php   
    if(empty($_POST['name']) && strlen($_POST['name']) == 0 || empty($_POST['email']) && strlen($_POST['email']) == 0 || empty($_POST['subject']) && strlen($_POST['subject']) == 0 || empty($_POST['message']) && strlen($_POST['message']) == 0)
    {
        return false;
    }
    
    $name = $_POST['name'];
    $company = $_POST['company'];
    $email = $_POST['email'];
    $subject = $_POST['subject'];
    $message = $_POST['message'];
    
    $to = 'support@mydomain.com'; // Email submissions are sent to this email

    // Create email 
    $email_subject = "Project Message";
    $email_body = "<h1>You have received a new project.</h1><br><br>".
                  "<b>Name</b>: $name <br>
                  <b>Company</b>: $company <br>
                  <b>Email</b>: $email <br>
                  <b>Subject</b>: $subject <br>
                  <b>Message</b>: $message<br><br>";
    $headers = "MIME-Version: 1.0\r\nContent-type: text/html; charset=UTF-8\r\n";   
    $headers .= "From: Service Portale<sales@mydomain.com>\n";
    $headers .= "Reply-To: $email"; 
    
    mail($to,$email_subject,$email_body,$headers); // Post message
    return true;            
    ?>

【问题讨论】:

  • 您是否测试过使用 Google Cloud 站点中最基本的脚本发送最基本的电子邮件以消除上述代码可能出现的问题?如果基本电子邮件失败,那么很可能是谷歌阻止了它
  • 是的,我做了一个简单的页面,只有基础知识,它不发送任何内容

标签: php google-cloud-platform


【解决方案1】:

查看文档Sending email from an instance

默认情况下,Compute Engine 允许所有端口上的出站连接 但是端口 25,由于存在滥用风险,该端口被阻止。 所有其他端口都是开放的,包括端口 587 和 465。

注意端口 25 始终被阻止且无法使用,即使通过使用 G Suite 的 SMTP 中继

这可能是您遇到的问题。

要解决此问题,您应该遵循文档SMTP Server Configuration - Zoho Mail“无法连接到传出服务器/ SMTP 服务器”部分:

有时,电子邮件客户端连接到默认端口 25 时 连接到 SMTP 服务器。如果是 Zoho Mail,您需要 在 SSL 或 TLS 端口(即 465 或 587)中连接到 smtp.zoho.eu 分别。

Here你可以找到一个基于PHPMailer的例子。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    • 1970-01-01
    • 2017-08-11
    • 2020-06-23
    • 1970-01-01
    相关资源
    最近更新 更多