2012-10-08 173 views
0

我想知道是否有方法來替換/替換郵件正文中的值。比方說,我有這樣的事情:亞馬遜SES替代值(PHP庫)

Hello %user_first %user_last, thanks for checking out our site. Blah, blah, blah... 

unsubscribe 
<a href='mysite.com/unsubscribe?uid=%unsibscribe_id&token=%some_token'> 
    HERE 
</a> 
<img src='mysite.com/images/user-opened-email.gif?sid=%some_id'> 

其中%user_first,%user_last,%unsibscribe_id,%some_token,並%SOME_ID是用戶特定值,不能從一個電子郵件到其他相同。

理想情況下,這隻會發生在一個API調用中,而不是執行srt_replace並多次調用API。

幫助表示讚賞。

回答

2

沒有像Amazon SES服務中內置的那樣。

在PHP中,使用一些基本的模板很容易。

foreach ($users as $user) 
{ 
    $template = <<<TEMPLATE 
Hello ${user_first} ${user_last}, thanks for checking out our site. Blah, blah, blah... 

unsubscribe 
<a href='mysite.com/unsubscribe?uid=${unsubscribe_id}&token=${some_token}'> 
    HERE 
</a> 
<img src='mysite.com/images/user-opened-email.gif?sid=${some_id}'> 
TEMPLATE; 

    // (code to send email...) 
} 

至於這樣的:

理想的情況下,這將發生在短短的一個API調用,而不是做一個srt_replace [原文]和多次調用API。

我不太確定你的意思。對SendEmail操作的每次呼叫都會發送一封電子郵件,因此無論如何您都需要爲每封電子郵件創建一次API調用。

您是否期待與衆不同?

+0

謝謝你的回答我認爲它解決了我的問題。對不起,如果它不是很清楚,我之所以問,是因爲我認爲這可能與SendGrid API有關。如果你看他們的庫,他們有一個方法來做替換https://github.com/sendgrid/sendgrid-php#using-substitutions。如果我沒有錯,我可以根據需要添加儘可能多的替換,然後只進行一次API調用,它將在它們的最後發送多個自定義電子郵件(請參閱示例http://docs.sendgrid.com/documentation/api/smtp -api/php-example /) – Onema

+0

啊,我明白了。我不確定SendGrid是如何在幕後工作的,但有人在某個地方需要發送多封電子郵件。他們可能會在SendGrid方面做到這一點。 Amazon SES要求用戶自己管理髮送電子郵件。 –