2017-06-20 44 views
1

我在谷歌虛擬機實例上安裝了mailgun,很快就知道我無法發送計費電子郵件給我的客戶端在出站端口(25,587等),所以我註冊了MailGun,我創建併購買了基本計劃...如何在MailGun API中使用php foreach循環

一切工作正常,如果我發送值前例如。 $ _POST ['email']和$ _POST ['subject'],但對於計費電子郵件,我想從數據庫中獲取數據並將其注入MailGun參數中,注意我使用的PHP和我的代碼看起來像那樣

如果刪除的foreach($訂單爲$ order_real){...}而是返回HTTP 500錯誤,當我有像下文,也許它串聯
$mg->messages()->send('xxxx.co.uk', [ 
     'from' => '[email protected]', 
     'to'  => ''.$_SESSION['user_email'].'', 
     'bcc' => '[email protected]', 
     'subject' => 'Your Treatment Order with xxxxxx', 
     'html' => ' 
        <!DOCTYPE HTML PUBLIC ""-//IETF//DTD HTML//EN""> 
        <html> 
        <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
        <title>Your Treatment Order with XXX</title> 
        </head> 
        <body> 
        <table width="550" height="200" cellpadding="0" cellspacing="0" align="center" style="border:1px solid #777777; padding: 25px; margin-top: 25px;" bgcolor="#ffffff"> 
        <tr><td align="center" colspan="5" style="background-color:#303f46; padding-top: 10px; padding-bottom: 10px;"><img src="http://www.xxxxx.co.uk/images/logo.png"></td></tr> 
        <tr><td height="1" bgcolor="#777777" colspan="5"></td></tr> 
        <tr><td height="10" colspan="5"></td></tr> 
        <tr><td height="1" bgcolor="#777777" colspan="5"></td></tr><tr><td height="5" colspan="5"></td></tr> 
        <tr><td align="left" class="hometitle" colspan="5">Your Treatment Order with XXXX</td></tr><tr><td height="5" colspan="5"></td></tr> 
        <tr><td height="1" bgcolor="#777777" colspan="5"></td></tr><tr><td height="5" colspan="5"></td></tr> 
        <tr><td align="left" class="hometext" colspan="5"><span style="color: #777777";> 
         <p>Hello,</p> 
         <p>Thanks for your order. We’ll let you know once your item(s) have <b>confirmed</b>. Your estimated confirmation time will not exceed few hours. You can view the details of your order by visiting <a href="http://www.xxxx.co.uk/orders.php?id='.$transactionId.'">My Orders</a> section on xxxx.co.uk.</p> 
         <p><b>ORDER DETAILS</b></p> 
         <p>Order Number: '.$transactionId.'</p> 
         <p>Placed on '.date('l dS F Y', strtotime($paymentDate)).'</p> 
         <p>Order Total: £ '.$originalAmount.'.00</p> 
         <p>Coupon Used: '.$couponCode.'</p> 
         <p>Total After Discount: £ '.$amount.'.00</p> 
        </td></tr>'.foreach($orders as $order_real){ $order_real['transaction_id'] }.'<tr><td height="10" colspan="5"></td></tr> 
        <tr><td height="1" bgcolor="#777777" colspan="5"></td></tr> 
        <tr><td height="10" colspan="5"></td></tr> 
        <tr><td colspan="5"><p>Sending luck, good health and best regards as always<br>XXXX team</p></td></tr> 
        <tr><td height="10" colspan="5"></td></tr> 
        </table> 
        </body> 
        ' 
]); 

代碼工作正常?怎麼做?

預先感謝您

+0

'的foreach()'不返回任何東西,你不能在一個字符串連接一樣,用它。 –

+0

我知道它只是一個演示代碼,我願意把一些提取的數據放在一個​​結構中......如何使用它?如何連接? – KaldoLeb

+0

在可以更好地控制它的函數參數外部構建HTML - 並使用foreach單獨構建一個變量,並將其作爲另一個普通變量包含在其中。在一段/一行代碼中做太多事情會比需要的複雜得多。 –

回答

2

foreach()不是一個函數 - 它不返回任何東西,所以你不能在一個字符串連接一樣使用它。您可以使用.=運營商不斷添加HTML到一個變量爲您的每次循環:

$html = '... lots of HTML ... '; 
foreach (...) { 
    $html .= '... more HTML ...'; 
} 
$html .= '... some more HTML ...'; 
+0

我將現在嘗試,謝謝你:) – KaldoLeb