Javascript 使用PHP编写但不发送电子邮件

Javascript 使用PHP编写但不发送电子邮件,javascript,php,html,email,Javascript,Php,Html,Email,我正在编写一个php应用程序,其中包括创建一些用于发送电子邮件的报告。我想让我的客户能够点击“创建电子邮件”按钮,这将导致许多电子邮件客户端窗口打开预填充数据,以便我的客户可以在发送电子邮件之前检查内容 我可以生成一个带有许多mailto标记的html页面,然后客户在发送之前单击该页面打开电子邮件(用于检查),但这显然是劳动密集型的,也是我编写这个php应用程序的部分原因。解决方案是在生成的html页面上添加一些javascript,从而在页面加载时触发所有mailto链接吗?还是有更好的办法

我正在编写一个php应用程序,其中包括创建一些用于发送电子邮件的报告。我想让我的客户能够点击“创建电子邮件”按钮,这将导致许多电子邮件客户端窗口打开预填充数据,以便我的客户可以在发送电子邮件之前检查内容

我可以生成一个带有许多mailto标记的html页面,然后客户在发送之前单击该页面打开电子邮件(用于检查),但这显然是劳动密集型的,也是我编写这个php应用程序的部分原因。解决方案是在生成的html页面上添加一些javascript,从而在页面加载时触发所有mailto链接吗?还是有更好的办法

附加编辑: 关键是,客户需要在发送电子邮件之前手动检查内容-抱歉,我不清楚。该客户已指定,他希望这些电子邮件在其电子邮件客户端中以草稿形式出现,而不是出现在网页上


谢谢

在服务器端发送邮件比让客户端依赖自己的邮件客户端(当有人在浏览器中单击邮件收件人链接时,浏览器会尝试打开Outlook或Thunderbird之类的邮件客户端,这可能是配置好的,也可能不是配置好的)更通用、更有效。您可以在页面上打印各种表单,包括主题、地址和消息输入,通过post接收它们(即用户提交表单),然后直接从服务器发送电子邮件以响应表单提交。从这个开始:

并查看PHPMailer:

此外,如果您使用的是框架,那么他们可能有自己的邮件发送实用程序,这比上述两种方法更可取。我所说的一个非常简单的例子可能是这样的:

<form action='/' method='post'>
  To Address: <input type='text' name='to_addr' /> <br/>
  Subject: <input type='text' name='subject' /> <br/>
  Message: <textarea name='to_addr'></textarea> <br/><br/>
  <input type='submit' name='send' value='Send Message' />
</form>
<?php

if(!empty($_POST['send']))
  mail( $_POST['to_addr'] , $_POST['subject'] , $_POST['message'] , 'From: no-reply@somedomain.com');

地址:
主题:
消息:


您可以使用这段代码

    $subject = 'Your mail subject';
    $message = 'Your message.';
    $header  = "From: webmaster@yourwebsite.com"."\r\n";
    $header .= "Reply-To: webmaster@yourwebsite.com"."\r\n";
    $header .= "MIME-Version: 1.0"."\r\n";
    $header .= "Content-Type: text/plain; charset=utf-8"."\r\n";
    $header .= "Content-Transfer-Encoding: 8bit"."\r\n";
    $header .= "X-Mailer: PHP v".phpversion();
    mail($newemail, $subject, $message, $header);
    header('Location: '.$success_page);
    exit;

经过进一步调查,似乎我不能使用mailto html标记,因为它(例如没有格式化的表)和


因此,现在的解决方案是返回使用上面建议的php邮件表单,并向客户的邮件帐户发送cc,以便他们可以根据要求在其电子邮件帐户中存储电子邮件副本。此外,我还将使用tinymce,以便客户可以编辑电子邮件正文中预先编写的html。

我不会依赖
mailto
链接从您的应用程序发送邮件。@jeroen-不依赖mailto有什么原因?我知道有人无法配置其邮件客户端,但此应用程序适用于我知道其电子邮件客户端配置正确的特定客户。不幸的是,这只是发送一封电子邮件,这不是必需的。客户需要先阅读/检查(和修改)创建的电子邮件,然后再单击“发送”。您可以从数据库中获取数据,然后使用该数据(预览)预填充字段,然后使用上面的代码发送这些数据。希望这有帮助。谢谢,但关键是不应该发送。客户将手动发送,我只是撰写电子邮件。有趣的想法-谢谢。不幸的是,我已经与我的客户进行了核实,他们不“信任”这种在网页中查看电子邮件的机制——他们希望在单击“发送”按钮之前在他们的电子邮件客户端中查看电子邮件(好像他们自己编写了电子邮件)。不幸的是,我认为没有一种编程方式在客户端发送电子邮件,特别是从单独的程序(如电子邮件客户端)中,因此如果您的客户端希望使用自己的客户端电子邮件客户端(),则必须为每封电子邮件单击“发送”。所以无论如何,通过编程打开这些窗口都不会节省太多钱?谢谢你的评论。节省的时间是创建报告和打开50多封包含报告(每个报告不同)的预先编写的草稿电子邮件,然后客户可以在单击发送之前检查这些电子邮件。他们不信任应用程序正确创建报告,因此希望手动执行所有检查。我想我被程序化地点击50个mailto:链接所困扰。