【问题标题】:Send Email with PHP Code使用 PHP 代码发送电子邮件
【发布时间】:2014-04-21 11:21:35
【问题描述】:

我正在尝试发送一封用 CKEditor 或 HTML 编写的 PHP 电子邮件。发送电子邮件时,HTML 代码会出现在电子邮件中,我知道,但标题已经尝试过放置巨大但没有任何效果。

以下是我发送电子邮件的代码。

function mail_users($titulo, $conteudo){
$query = mysql_query("SELECT `Email`, `Nome` FROM `utilizadores` WHERE `Newsletter` = 'Ativada'");
while (($row = mysql_fetch_assoc($query)) !== false){
 $header .= "MIME-Version: 1.0\r\n";
 $header .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
email($row['Email'], $titulo, "Olá " . $row['Nome'] . ",\n\n" .  $conteudo, $header);
}
}

【问题讨论】:

    标签: php html email


    【解决方案1】:

    你应该这样做..

    • 将标题移到 while 循环之外。
    • 你在连接中犯了一个错误。
    • 函数应该是mail() 而不是email() [除非你已经为它写了一个包装器]

    正确的方式....

    function mail_users($titulo, $conteudo){
        $query = mysql_query("SELECT `Email`, `Nome` FROM `utilizadores` WHERE `Newsletter` = 'Ativada'");
        
        $header = "MIME-Version: 1.0\r\n";
        $header .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
        while (($row = mysql_fetch_assoc($query)) !== false){
            
            mail($row['Email'], $titulo, "Olá " . $row['Nome'] . ",\n\n" .  $conteudo, $header);
        }
    }
    

    【讨论】:

    • 函数应该是mail为什么用email()?你做了那个改变吗?
    • 我把它改成mail($row['Email'], $titulo, "Olá " . $row['Nome'] . ",\n\n" . $conteudo, $headers);,但不起作用..
    • 嗯,它工作! :D 谢谢兄弟!
    • @LuisMiguelGT,所以mail() 是问题所在:)
    【解决方案2】:

    试试这个,我认为你只需在每次进入循环时将标题设为空白。

    并检查

    @mail($email, $subject, $message, $headers);

    最后一行具有相应的所有值。

    function mail_users($titulo, $conteudo){
    $query = mysql_query("SELECT `Email`, `Nome` FROM `utilizadores` WHERE `Newsletter` ='Ativada'");
    while (($row = mysql_fetch_assoc($query)) !== false){
    $header='';
     $header .= "MIME-Version: 1.0\r\n";
     $header .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
    @mail($row['Email'], $titulo, "Olá" . $row['Nome'] . ",\n\n" .  $conteudo, $header);
    }
    }
    

    【讨论】:

      【解决方案3】:

      试试这个

      function mail_users($titulo, $conteudo)
      {
          $header = "MIME-Version: 1.0\r\n";
          $header .= "From: xyz@yourdomain.com";
          $header .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
      
          $query = mysql_query("SELECT `Email`, `Nome` FROM `utilizadores` WHERE `Newsletter` = 'Ativada'");
          while($row = mysql_fetch_assoc($query))
          {
      
               mail($row['Email'], $titulo, "Olá " . $row['Nome'] . ",\n\n" .  $conteudo, $header);
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2016-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多