0

当我们使用“frames in”更新我们的数据库时,我正在尝试找出向客户发送自动电子邮件的最佳方式,我在想 javascript 和 php,但真的不知道如何实现为 nobo!?

我的 HTML 表单显示需要触发电子邮件的复选框(由于长度仅部分显示)

<form action="<?php echo $editFormAction; ?>" name="form" method="POST"> 
<input name="frame_in" type="checkbox" id="long_tiny" value="yes" <?php if (!(strcmp($row_Recordset1['frame_in'],"yes"))) {echo "checked=\"checked\"";} ?> />
<input type="hidden" name="MM_update" value="form">
</form>

php 邮件脚本(不确定是否完全正确)

$mailTo = $row_customer['email'];
$subject = 'Your Frames Now in!!';
$cName = $row_Recordset2['cName'];
$jobRef = $row_Recordset2['customer_ref'];
$ourRef = $row_Recordset2['our_ref'];
$jobTotal = $row_recordset2['amount'];
mail($mailTo, $subject,
$cName your job Ref: $jobref is now in
<br>
<h2>Details:</h2>
<p>Our ref: $ourRef<br>
Customer Ref: $jobref<br>
Job total: $jobtotal</p>
); 

我真的不知道如何将它们联系在一起我猜需要进行错误处理,因为并非每个客户都有电子邮件(但不需要显示错误)

4

3 回答 3

0
$mailTo = $row_customer['email'];
$subject = 'Your Frames Now in!!';
$cName = $row_Recordset2['cName'];
$jobRef = $row_Recordset2['customer_ref'];
$ourRef = $row_Recordset2['our_ref'];
$jobTotal = $row_recordset2['amount'];
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$message = "$cName your job Ref: $jobref is now in
<br>
<h2>Details:</h2>
<p>Our ref: $ourRef<br>
Customer Ref: $jobref<br>
Job total: $jobtotal</p>";
if($_POST['frame_in'] == "yes") {
mail($mailTo, $subject,$message, $headers); 
}
于 2012-04-20T15:52:45.293 回答
0

这是一个非常广泛的问题。你需要做的是:

  1. 处理表格$editFormAction
  2. 如果$_POST['frame_in']已设置,请执行以下操作:
    • 获取所有客户
    • 向有电子邮件地址的人发送电子邮件
  3. 在您的网站上为未注册电子邮件地址的登录用户(或一般...)发布警告。

不需要额外的 javascript。

你到底卡在哪里了?

于 2012-04-20T16:05:06.843 回答
0

您可以尝试发送电子邮件的数据库触发器。数据库本身将发送电子邮件,根本不涉及 php。这也将更具包容性,因为无论是谁/什么更改了该字段,它都会发送一封电子邮件,包括来自 PhpMyAdmin 或其他网页/脚本的更改。

http://dev.mysql.com/doc/refman/5.0/en/triggers.html

http://forums.mysql.com/read.php?99,33635,33635#msg-33635

这可能会受到限制,具体取决于您的托管环境。如果您使用共享主机,出于安全原因,您很可能无法使用触发器。

于 2012-04-20T16:10:24.567 回答