【问题标题】:Sending email to multiple addresses with php使用php将电子邮件发送到多个地址
【发布时间】:2017-10-17 10:07:15
【问题描述】:

它只向第一个电子邮件地址发送电子邮件。第二个电子邮件地址不起作用,因为它是一个变量。你怎么看?

  $to = "email1@gmail.com,". $rs['email2'];
    $subject = "Hello";
    $from = "admin@itservice.com";
    $headers = "From: $from\r\n";
    $headers .= "MIME-Version: 1.0\r\n"
      ."Content-Type: multipart/mixed; boundary=\"1a2a3a\"";


    $message .= "This is a message..."
      ."--1a2a3a\r\n";

    $file = file_get_contents("memomemomemo4.pdf");



    // Send email

      $success = mail($to,$subject,$message,$headers);

【问题讨论】:

  • seem to be doing it correctly 使用逗号分隔值。我的假设是变量为空。在提交消息之前尝试调试 $to 的值。
  • 在 $success 之前回显 $to。你在哪里成功?它只是被分配,你没有在任何地方运行功能邮件
  • $to = $rs['email1'] 。 ",email2@gmail.com";它以这种方式工作。但它永远不能向可变电子邮件地址发送电子邮件,它只会发送到字符串一。
  • 是否回显 $rs['email2'];实际上包含任何东西
  • 当然包含。我附和了它。它就像 mail1@gmail.com、mail2@gmail.com。它没有任何问题。

标签: php email


【解决方案1】:

试试这个语法:

$to = "email1@gmail.com,".$rs['email2'];

【讨论】:

  • 另一个有趣的事实,你也可以写"email1@gmail.com,$rs['email2']";
  • 一个更有趣的事实,这两个都将应用程序打开到header injection
  • 此语法被回显为“email1@gmail.comemail2@gmail.com”,没有空格,也没有“,”。很奇怪……
  • 另一个有趣的事实,不像你的非事实"email1@gmail.com,$rs['email2']"; == Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)
  • 另一个 $to = "email1@gmail.com,".$rs['email2']; === $to = "email1@gmail.com,". $rs['email2']; 删除空格没有任何作用
【解决方案2】:

为什么不:

$rs['email2'] = "me@me.com";
echo "email1@gmail.com,{$rs['email2']}";
# email1@gmail.com,me@me.com

【讨论】:

  • 我不知道为什么,但它没有看到变量。
  • php 脚本的顶部添加error_reporting(E_ALL); ini_set('display_errors', 1);,它会返回什么?
猜你喜欢
  • 1970-01-01
  • 2019-01-10
  • 1970-01-01
  • 1970-01-01
  • 2017-04-02
  • 2021-12-11
  • 2014-04-27
  • 2013-10-11
  • 1970-01-01
相关资源
最近更新 更多