PHP 通过电子邮件向用户发送列表


PHP Email a list to user

我有一个php脚本,它从html页面获取用户输入并创建了一个列表。我希望能够通过电子邮件将该列表发送给用户,并且已经从 html 页面获得了用户的电子邮件地址。

到目前为止,当用户点击"通过电子邮件向我发送列表"时,我可以让程序自动打开该人的 Outlook 程序。我希望能够将列表复制并粘贴到电子邮件文档中,或者至少将链接复制并粘贴到列表所在的页面。

任何帮助将不胜感激。

谢谢

安德鲁

编辑:

表格:

 <strong>Email Address</strong><FONT COLOR="#FF0000">*</FONT>:
    <input type="text" name="emailaddress2"/> 
  <input type="submit" value="Submit"/>

.PHP:

//THE LIST I NEED TO SEND, AND THE EMAIL FUNCTION


$FoodList=array_unique($FoodList);
if(!empty($FoodList))
{
   foreach ($FoodList as $key => $value)
   {
      echo "<li>" . $value . "</li>";
   }
   echo "</ul>";
}

<a href="mailto:<?php echo $_POST['emailaddress']; ?>">Email me List</a> 

(所以基本上我希望将列表粘贴到电子邮件中)

如上所述,内置的PHP邮件功能是更好的解决方案--无需与外部客户端接口。

但是,您可以通过在链接中添加"&body="部分(您也可以添加"&subject="等)来创建以列表作为正文的mailto:元素,如下所示:

 <a href="mailto:<?php echo $_POST['emailaddress']; ?>&subject=List&body=List1%0AList2>
 Email me List
 </a> 

如果列表是多行的,您可能需要执行以下操作(假设它是一个数组):

 implode($list, "%0A");

或者,您可能希望查看使用urlencode()列表,具体取决于列表中包含的其他字符。

请注意,某些邮件客户端

的处理方式可能与其他邮件客户端不同,这就是为什么直接从 PHP 发送邮件是一个更好的选择,jboneca 注释中链接中的示例应该足以让您入门。

已编辑以

添加第二个注释以响应您的编辑:如果要在邮件中嵌入HTML,则需要使用PHP邮件程序,因为无法通过mailto链接 - 请参阅此答案:带有HTML正文的MailTo