【问题标题】:Select file stored on web server and send as attachment in email?选择存储在网络服务器上的文件并作为电子邮件附件发送?
【发布时间】:2018-06-12 06:49:16
【问题描述】:

我希望有人能帮助我/引导我解决这个问题。

我想创建一个名为“发送文件”的按钮。单击此按钮时,将打开我的 Web 服务器上存储多个 PDF 文件的目录。然后我必须可以选择多个文件。单击“确定/确认”后,必须在 Outlook 上打开一封新邮件,并将文件添加为附件。

所以它基本上就像通过 Outlook 在本地计算机上添加附件,但唯一的区别是文件的“源”在我的网络服务器上的目录中。

我希望这个问题不要太宽泛或不够具体。我真的不知道该怎么做,所以任何提示都表示赞赏。我将尝试编写一些代码,但我不知道如何做到这一点。

【问题讨论】:

  • 我会使用该目录中的文件名创建一个选择框或多个复选框。让用户选择哪些文件,然后将它们作为附件添加到您的服务器发送给用户的电子邮件中。使用像 PHPMailer 这样的电子邮件类来发送您的电子邮件。在将文件附加到电子邮件时,它将为您省去很多麻烦。
  • 我正在考虑创建复选框,但我是否必须为目录中的每个文件创建一个复选框?所以基本上复选框或选择框“值”将是文件名?您知道如何将复选框的“名称”分配给文件名吗?非常感谢您的回答!
  • 您使用目录中的文件名创建一个数组。然后循环遍历数组以制作复选框。关于通过遍历数组来创建复选框的大量材料可以在 SO 上进行搜索。构建一个基本示例进行测试。
  • 幸运的是我知道如何做这两件事!我还是个新手,还有很多东西要学,所以非常感谢你帮助我!我将搜索 SO(过去对我有很大帮助)

标签: javascript php email joomla


【解决方案1】:

这是一个简单的例子:

print_r($_POST['fileName']);

$array = array(

  'file1.pdf',
  'file2.pdf',
  'file3.pdf',
  'file4.pdf',
  'file5.pdf',
  'file6.pdf',
  'file7.pdf',
  'file8.pdf',

);

echo '<form action="" method="post">';

foreach($array as $file){

   echo $file . '<input name="fileName[]" type="checkbox" value="' . $file . '"><br>';

}

echo '<input name="submit" type="submit" value="Submit">';

echo '</form>';

【讨论】:

  • 非常感谢!对此,我真的非常感激。为我提供了良好的工作基础:)
  • 嗨@Joseph_J。只有一个问题:如何将 $array 放入完整目录,自动列出目录中的所有文件?如果您能帮助我,我将不胜感激。谢谢。
【解决方案2】:

这是不可能的。

浏览器无法告诉用户的电子邮件客户端(Outlook 或其他)启动带有特定附件的新电子邮件(无论附件的来源是什么)。

相反,您可以 send the email directly from the server

【讨论】:

  • 感谢您的回复。所以 PHP Mailer 基本上是最简单的方法。问题是,我怎样才能告诉 PHP Mailer 它应该找到单击复选框的文件,并将其发送到电子邮件中?
猜你喜欢
  • 2016-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-03
相关资源
最近更新 更多