Php 在表更新数据表编辑器上发送电子邮件

Php 在表更新数据表编辑器上发送电子邮件,php,email,datatables,Php,Email,Datatables,我想知道如何在更新时发送电子邮件 <?php function my_mail_function(){ $to = "rma@mysite.net"; $subject = "RMA Update Completed"; $values2 = $row['rma_submissions.paid']; $message = " <html> <head>

我想知道如何在更新时发送电子邮件

<?php

function my_mail_function(){
    $to = "rma@mysite.net";
    $subject = "RMA Update Completed";

    $values2 = $row['rma_submissions.paid'];

    $message = "
    <html>
    <head>
    <title>RMA Update Complete</title>
    </head>
    <body>
    <p>This is a copy of your RMA Update Request</p>
    <table>
      $values2
    <tr><td>Completed?: <b> Yes </b></td></tr>
    </table>
    </body>
    </html>
    ";

    // Always set content-type when sending HTML email
    $headers = "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

    // More headers
    $headers .= 'From: <noreply@mysite.net>' . "\r\n";


    mail($to,$subject,$message,$headers);
}

include( "lib/DataTables.php" );

use
    DataTables\Editor,
    DataTables\Editor\Field,
    DataTables\Editor\Format,
    DataTables\Editor\Mjoin,
    DataTables\Editor\Options,
    DataTables\Editor\Upload,
    DataTables\Editor\Validate,
    DataTables\Editor\ValidateOptions;

    Editor::inst( $db, 'rma_submissions', 'ID' )
        ->fields(
            Field::inst( 'rma_submissions.id' ),
            Field::inst( 'rma_submissions.timestamp' )
                ->validator( Validate::dateFormat( 'Y-m-d H:i:s' ) )
                ->getFormatter( Format::datetime( 'Y-m-d H:i:s', 'Y-m-d H:i:s' ) )
                ->setFormatter( Format::datetime( 'Y-m-d H:i:s', 'Y-m-d H:i:s' ) ),
            Field::inst( 'rma_submissions.location' ),
            Field::inst( 'rma_submissions.orig_invoice' ),
            Field::inst( 'rma_submissions.all_accessories' ),
            Field::inst( 'rma_submissions.new_submission' ),
            Field::inst( 'rma_submissions.man_sku' ),
            Field::inst( 'rma_submissions.device_id' ),
            Field::inst( 'rma_submissions.failure_desc' ),
            Field::inst( 'rma_submissions.defective_oob' ),
            Field::inst( 'rma_submissions.original_sales_date' ),
            Field::inst( 'rma_submissions.vendor' ),
            Field::inst( 'rma_submissions.email' ),
            Field::inst( 'rma_submissions.device_man' ),
            Field::inst( 'rma_submissions.district' ),
            Field::inst( 'rma_submissions.rma_number' ),
            Field::inst( 'rma_submissions.paid' ),
            Field::inst( 'rma_submissions.paid_date' ),
            Field::inst( 'rma_reasons.reason_description' ),
        )

        ->leftJoin( 'rma_reasons', 'rma_reasons.reason_code', '=', 'rma_submissions.failure_desc' )

        ->on( 'postEdit', function ( $editor, $id, $values, $row ) {
                my_mail_function();

        } )

        ->process( $_POST )
        ->json();



PHP文档中的

查看给出的示例,数组的变量扩展不应包含引号。请尝试:

$message = "
<html>
<head>
<title>Sku Update Complete</title>
</head>
<body>
   $row[rma_submissions.paid]
</body>
</html>
";
$message=”
Sku更新完成
$row[rma_提交。已支付]
";
一般来说,由于变量扩展的复杂性,我倾向于使用串联。i、 e

$message = "
<html>
<head>
<title>Sku Update Complete</title>
</head>
<body>".$row['rma_submissions.paid']."</body>
</html>
";
$message=”
Sku更新完成
“$row['rma_submissions.payed']
";

或者我会创建一个简单的模板,然后使用preg replace或类似的方法将字段占位符替换为实际值。

一件事。您需要将表示关联数组索引的变量括在双引号的
字符串中,并使用大括号
{}
$message=“{$row['rma_submissions.paid']}”看一看。如果我删除
{}
,这是一个致命错误。@umairkan如果我添加括号,它会完全破坏脚本。
$message = "
<html>
<head>
<title>Sku Update Complete</title>
</head>
<body>".$row['rma_submissions.paid']."</body>
</html>
";