以单一目的地发送多封电子邮件

send multiple emails with single destinatary

我想向多个目的地发送电子邮件,但在目的地中只显示电子邮件而不显示其他邮件

例如:

而不是:

mail('juanito@gmail.com,jua@gmail.com,juana@gmail.com', $asunto, $html,$header);

在邮箱中:http://prntscr.com/6g4zkz

可能在邮箱中:http://prntscr.com/6g4zz1

但是发送了 3 封电子邮件?

编辑:

我是这样解决的:

while ($resulta = $dati->fetch_array()) {
            $email = $resulta['email'];
            mail($email, $asunto, $html,$header);
        }

唯一的问题是我不知道如何 return 对或错:

public function feed_mail($id){
        $mysqli = $this->connection();
        $data = $mysqli->query("SELECT * FROM feed");
        $dati = $mysqli->query("SELECT * FROM feed");
        $dato = $mysqli->query("SELECT * FROM blog where id='$id'");
        $resultado = $dato->fetch_array();
        $title = $resultado['title'];
        $date = $resultado['date'];
        $autor= $resultado['author'];
        $body = base64_decode($resultado['body']);
        $asunto = 'Ortoflex - '.$title;
        while ($resultados = $data->fetch_array()) {
        $html = '<div style="width:80%;padding: 100px; background: #E4EDF6;border:10px solid #000000;">';
                        $html .= '<h1><b>'.$title.'</b></h1>';
                        $html .= '<br>';
                        $html .= $date;
                        $html .= '<hr>';
                        $html .= '<br>';
                        $html .= $body;
                        $html .= '<hr><br>';
                        //while ($resultados = $data->fetch_array()) {
                        $html .= '<a href="'.$this->url.'unsuscribe?hash='.$resultados['hash'].'">Anular Suscripci&oacute;n</a>';   
                        }
                        $header .="MIME-Version: 1.0\n"; 
        $header .= "Content-type: text/html; charset=iso-8859-1\n"; 
        $header .="From: Ortoflex.mx<feed@ortoflex.mx>\n";
        $header .="Return-path: feed@ortoflex.mx\n";
        $header .="X-Mailer: PHP/". phpversion()."\n";
        //$header .= "Bcc: ".$item."\r\n";
        $to = 'private-feed@ortoflex.mx';       
while ($resulta = $dati->fetch_array()) {
            $email = $resulta['email'];
            mail($email, $asunto, $html,$header);
        }

            return true;

    }

使用这个:-

$headers .= 'From: SmsGratisan.com <admin@website.com' . "\r\n";
$headers .= 'BCC: '. implode(",", $to) . "\r\n";


mail(null, $title, $content, $headers)

header

中的用户密件抄送
$to=array(); 
$headers .= 'From: Jack.com <admin@website.com' . "\r\n";
$headers .= 'BCC: '. implode(",", $to) . "\r\n"; 
if(mail(null, $title, $content, $headers))
  return true; 
else 
  return false;

将字符串转换为数组并对其进行迭代

$ids='juanito@gmail.com,jua@gmail.com,juana@gmail.com'
$emails[]=explode(" ", $ids);
$errors[]="";
for($i=0;$i<count($emails);$i++)
{
  if(!mail($emails[$i], $asunto, $html,$header)){
      $errors[]="Email function didn't work for".$emails[$i];
   }

}

另一种方法,如果你想知道确切的错误(通过使用 try and catch)

for($i=0;$i<count($emails);$i++)
{
  try{
     mail($emails[$i], $asunto, $html,$header);
     }
    catch(Exception $exception){
     $errors[]=$exception->getMessage(). " <- exception for email   ".$emails[$i];
    }   
}

通过将您的目的地放入密件抄送来发送邮件。您的收件人将无法看到其他人的电子邮件地址。以下是示例代码

将您的电子邮件字段设置为空并且

$to=array();
$headers .= 'From: Jack.com <admin@website.com' . "\r\n";
$headers .= 'BCC: '. implode(",", $to) . "\r\n";


mail(null, $title, $content, $headers);