【问题标题】:Receive Email with attachment from current Site source code从当前站点源代码接收带有附件的电子邮件
【发布时间】:2012-08-31 21:29:15
【问题描述】:

这个想法是用户可以在屏幕上排列 div 块(拖放)。当用户认为职位不错时,他们可以通过电子邮件将职位名称和他们的姓名通过电子邮件发送给我。

<form action="#">       
<input name="name" id="name">        
<input name="email" id="email">       
<input name="htmlcontent" id="htmlcontent">        
<p><button type="submit">Send to DKdL</button></p>
</form>

表格将由手工填写。除了将粘贴完整源代码的字段(通过 jquery - 也将在此处过滤)。这就是我以后会知道每个 div 块的位置的方式。这将通过 jquery post 发送。

$('form').on('submit', function(e) {

var html = $('html').html();
var htmlSending = '<html>' + html + '</html>';
var noScript = htmlSending.replace(/script/g, "h6");

//alert(noScript);
$('input#htmlcontent').val(noScript);

$.post('http://www.address/save.php', $(this).serialize(), function(data) {
    //callback to use for thank you message
    console.log(data);
});

e.preventDefault();
});

在 php 中,我希望将第三个字段(带有复制和过滤的 html 源代码)保存为 .html 文件,并在其后面加上名称和日期(例如:peter_01-09-2012.html)并包含在将作为附件发送给我的电子邮件。

<?php

$name = name;
$email = email;
$htmlcontent = htmlcontent;
//file_put_contents('file.html', '$htmlcontent'); 

$to = '"My Email <my.email@mail.com>';
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

$message =
<p>Name: $name</p>
<p>E-Mail: $email</p>
here should be a url to the HTML Content: $htmlcontent
or a real email attachment
;   
?>

这有可能实现吗?不幸的是,我的知识在 php 中没有。我只知道可以写入文件。但是我如何告诉 php 将其作为附件包含在电子邮件中?如果我的问题有更好的选择,我当然也喜欢听。

【问题讨论】:

  • 只是一个问题:当你只需要知道div的位置时,你为什么要发布源代码?
  • 当我成为电子邮件并从附件中打开 html 文件并以 1:1 的比例查看用户所看到的内容,而不是一些我必须以某种方式转换以查看他们如何定位 div 的数字。因为 div 分布在整个文档中。图像无法到达,因为其中包含滚动。

标签: php jquery attachment email-attachments


【解决方案1】:

由于 PHP 的 mail() 实际上是发送原始电子邮件内容的简单“代理”,您有两种选择:

  1. 使用一些功能更强大的 PHP 包,允许您构造带有附件的邮件消息(例如 PEAR Mail_Mime)。

  2. 了解如何构建多部分邮件内容。由于在这种情况下非常简单(仅涉及Content-typeContent-disposition 之类的术语),因此我在这里推荐它。

最简单的就是通过例子来学习,所以请在您的电子邮件客户端中获取一些简单的邮件(带附件)并查看该邮件的来源。您甚至可以将此源用作发送到 PHP 的 mail() 函数的数据的模板。

【讨论】:

  • 您好库巴,感谢您的回复。我从没想过从电子邮件中查看源代码。我检查了它并找到了 Content-type 和 Content-dispostion。我要试试我现在能不能自己解决这个问题:) --Apple-Mail-F95B52F6-D7A8-4B9A-9223-969CF1587128 Content-Disposition: ATTACHMENT; filename="document.pdf" Content-Type: APPLICATION/PDF; name="document.pdf" Content-Transfer-Encoding: BASE64
猜你喜欢
  • 2022-10-22
  • 2021-03-06
  • 1970-01-01
  • 2011-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-18
  • 2011-04-14
相关资源
最近更新 更多