【问题标题】:Send both html form and the file attahment in PHP在 PHP 中发送 html 表单和文件附件
【发布时间】:2012-09-10 12:00:05
【问题描述】:

我一直在尝试找到一种方法来附加 html 表单以及通过 php 附加文件的方法。目的是当用户按下提交按钮时,HTML 表单(只有可见字段)和文件附件(上传)都作为电子邮件附加。这是一种 HTML 电子邮件,但我希望在电子邮件中附加 HTML 表单。我找不到任何解决方案?

【问题讨论】:

  • [java] 是如何出现的?
  • 现在我需要一个 javascript 来保存文件并在 php 脚本中读取/打开它。
  • 我看到你现在有了 [javascript] 标签,因为 java != javascript ;)

标签: php javascript email


【解决方案1】:

您想将表单值作为附件而不是电子邮件的实际正文发送?如果是这样,您可以使用表单数据创建一个 html 页面并将其保存在您的服务器上。然后,发送。如果您需要帮助,请告诉我,我会发布一些代码。但是,我不太推荐这种方法。在我看来,您应该在电子邮件的正文中发送它。

创建文件:

$fh = fopen($filename, 'w') or die("can't open file");
fwrite($fh, '<html><body>');
fwrite($fh, "<h1>$title</h1>$text");
fwrite($fh, '</body></html>');
fclose($fh);

通过 php mailer 发送文件:

$mail->AddAttachment($whereEverYouSavedYourFile, $whatEverYourFileNameIs);

如果不起作用,请尝试并发布代码(可能是针对您的特定问题的新问题)。

编辑:

要发送带有帖子数据的电子邮件,请将表单提交到包含以下内容的 PHP 页面:

<?php

// get and sanitize post data like this
// note: you must have a form field with a 'name' of 'firstName' and on of 'lastName'
$firstName = htmlspecialchars($_POST['firstName'], ENT_QUOTES, 'UTF-8');
$lastName = htmlspecialchars($_POST['lastName'], ENT_QUOTES, 'UTF-8');

// put the data in a new variable
$body = <<<HTML
  First name: $firstName \r\n
  Last name: $lastName \r\n
HTML;

// send mail
mail('whoEver@theirEmailAddress.com', 'form data', $body);

?>

【讨论】:

  • 嗨,是的,这不是理想的解决方案,但要求是发送表格的副本。由于表单的一个或多个字段也将用于上传文件附件,因此我必须在一封电子邮件中附加 HTML 表单和要附加的文件(通过表单)。
  • 你需要什么例子吗?发送电子邮件、创建 HTML 表单、发送多个附件?三个都?我可以告诉你怎么做。
  • 我知道用于发送邮件、创建 html 表单的脚本,但不知道在一封电子邮件中发送包含 HTML 表单本身和文件附件的电子邮件。
  • 您不会发送表单本身,您将发送一个单独的 HTML 文件,该文件是您根据 Web 表单中提交的数据创建的。这是在 PHP 中创建 html 文档的方法,然后只需像附加其他附件一样附加文件stackoverflow.com/questions/7180127/…
  • 我已经尝试过shotdev.com/php/php-mail/…,但无法让它工作,所以不确定它是否会按照我想要的方式工作
【解决方案2】:

检查下面的链接,它一定会帮助你。

http://www.finalwebsites.com/forums/topic/php-e-mail-attachment-script

我用过它,它对我有用。

【讨论】:

  • 嗨 srbhbarot,表格呢??
  • 您要发送邮件中的html结构还是邮件附件的html文件?
  • 显然,表单是 HTML(可能是精简版)。但是,附件可能是 pdf 文件。
  • 好的!因此,您只需要在这一行中进行一项更改: $header .= "Content-type:text/plain; charset=iso-8859-1\r\n";用html替换纯文本。并在邮件功能的消息参数中发送您的 html 结构。
  • 有一个 php 代码,相关的 HTML 代码是什么,我必须在哪里 pu $my_file = "somefile.zip";..... 代码
猜你喜欢
  • 2012-07-30
  • 2014-05-02
  • 2018-01-24
  • 1970-01-01
  • 1970-01-01
  • 2015-03-13
  • 1970-01-01
  • 1970-01-01
  • 2019-07-31
相关资源
最近更新 更多