在数据库更新时触发自动电子邮件?

时间:2012-04-20 15:29:40

标签: php javascript email

我正在尝试找出向客户发送自动电子邮件的最佳方式,当我们使用“框架”更新我们的数据库时,我正在考虑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>
); 

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

3 个答案:

答案 0 :(得分: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); 
}

答案 1 :(得分:0)

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

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

    你到底在哪里?

答案 2 :(得分: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

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