【问题标题】:Send Email To Multiple (Each Line Email Address) and Print向多个(每行电子邮件地址)发送电子邮件并打印
【发布时间】:2015-04-15 01:28:44
【问题描述】:

我不擅长 PHP,但仍在尝试创建一个测试脚本以便我可以学习它。我指的是w3schools,我不知道我的好坏。 我需要对刚刚创建的脚本进行一些更改。

<?php

$to = $_POST['EmailList'];
$subject = $_POST['EmailSubject'];
$message = $_POST['EmailBody'];

// Always set content-type when sending HTML email
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

// More headers
$headers .= 'From: <admin@admin.com>' . "\r\n";

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

print_r($headers)
?>

<html>
<center>
<form method="post">
<br><strong>PHP Email Sender</strong><br><br><br>

Email List<br>
<textarea name="EmailList" placeholder="email@email.com (New Email Each Line)"  rows="20" cols="50"></textarea><br><br>

Subject<br>
<input type="text" name="EmailSubject" placeholder="Your Subject Goes Here"><br><br>

Body<br>
<textarea name="EmailBody" placeholder="Write your content (HTML Accepted)"  rows="20" cols="50"></textarea><br><br>

<input type="submit" value="Submit!">
</form><br><br>

</center>
</html>
  1. 我需要一些帮助,以便我可以将电子邮件发送到不同的电子邮件,但每封电子邮件将位于不同的行中,并且我不会使用逗号 (,)。我希望脚本自己生成逗号(,)并从新行中携带每封电子邮件。
  2. 例如,我输入了 10 封电子邮件,我需要打印每封电子邮件,除此之外还有一条消息说已发送。

如果可能,请告诉我。我只是需要一些帮助。

【问题讨论】:

  • explode() 换行然后foreach() 循环发送邮件
  • 欢迎来到 Stack Overflow!您可以考虑在Code Review 发帖 - 这可能更适合此类问题。

标签: php html forms email


【解决方案1】:

这是经过测试的:

<?php
$subject = $_POST['EmailSubject'];
$message = $_POST['EmailBody'];

// Always set content-type when sending HTML email
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

// More headers
$headers .= 'From: <admin@admin.com>' . "\r\n";
$emailList = explode("\n",$_POST['EmailList']);
if(count($emailList) > 0){
  foreach($emailList as $to){
    $to = trim($to);
    $sent = mail($to,$subject,$message,$headers);
    if ($sent){
      echo "<p>Sent: $to</p>";
    }
    else{
       echo "<p>Not Sent: $to</p>";
    }
  }
}
else{
  echo "<p>No email addresses</p>";
}
print_r($headers);

?>

【讨论】:

  • 实际上有很多错误,但实际上我得到了很多帮助。我弄清楚了每一行的问题。我现在唯一的问题是打印问题。我会尝试自己修复它。任何帮助将不胜感激。
  • 修复了所有错误,现在进行测试。我收到了电子邮件。
  • 太棒了。它现在已修复,并且可以像魅力一样工作。感谢朋友的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-10
  • 2012-03-31
  • 2014-06-15
相关资源
最近更新 更多