Форма подписки ExactTarget также отправляет детали формы

В настоящее время есть форма подписки на информационный бюллетень, которая отправляет информацию в учетную запись ExactTarget. Возможно ли, чтобы та же форма отправляла электронное письмо, аналогично контактной форме PHP? Когда-то это была форма PHP.

Я рассмотрел вариант подписки Денвера MailChimp в контактной форме: Mail Chimp Подписаться в контактной форме

В этой форме не нужно устанавливать флажок, чтобы подписаться на информационный бюллетень.

<form action="http://cl.exct.net/subscribe.aspx?lid=hidden" name="subscribeForm" method="post">  
<input type="hidden" name="thx" value="enewsletter-thank-you.php" />  
<input type="hidden" name="err" value="enewsletter-error.php" />  
<input type="hidden" name="MID" value="hidden" />

<ul class="contactForm">    
<li class="contactForm">
<label class="formFieldQuestion">E-mail Address:&nbsp;<span class="redrequired">*</span></label>
<input class="field-text" type="text" name="Email Address" size="20" value=""></li> 

<li class="contactForm">
<label class="formFieldQuestion">Full Name:</label>
<input class="field-text" type="text" name="Full Name" size="20" value=""></li>

<li class="contactForm">
<label class="formFieldQuestion">Company:</label>
<input class="field-text" type="text" name="Company or Organization" size="20" value=""></li>

<li style="padding-left:10px;">
<input id="saveForm" class="button_form" type="submit" value="Subscribe" name="submit"> </li>

</ul>
</form>

person Eric    schedule 21.11.2012    source источник
comment
Забыл отметить, что электронное письмо будет содержать ту же информацию, что и поля подписки.   -  person Eric    schedule 22.11.2012
comment
Вы можете добавить вызов ajax для отправки, который отправляет данные на URL-адрес контактного сообщения.   -  person Renon Stewart    schedule 22.11.2012


Ответы (1)


Да, вы можете отправить это как запрос на завивку. Измените действие формы на что-то вроде mail_and_submit.php.

Затем в mail_and_submit.php:

//extract data from the post
extract($_POST);

//set POST variables
$url = 'http://cl.exct.net/subscribe.aspx?lid=hidden';
$fields = array(
            'thx' => urlencode($thx),
            'error' => urlencode($error),
            'MID' => urlencode($MID),
... (etc)
);

//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');

//open connection
$ch = curl_init();

//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);

//execute post
$result = curl_exec($ch);

//close connection
curl_close($ch);

ЗАТЕМ создайте сообщение электронной почты с теми же полями и отправьте что-то вроде:

$message = 'A post was submitted:<br/>';
$message .= 'thx: ' . $thx;
$message .= 'error: ' . $error;
$message .= 'MID: ' . $mid;

... и т. д., затем напишите с помощью:

mail('[email protected]', 'Your Entry', $message);
person jbnunn    schedule 21.11.2012
comment
MID, спасибо и ошибка - это скрытые значения для обработки Exact Target, есть ли способ отправить эти данные через cURL? Кроме того, спасибо и ошибка перенаправляется, чтобы подтвердить, что пользователь подписан или произошла ошибка при обработке. - person Eric; 26.11.2012
comment
cURL работает, но Exact Target не похож на отправленные данные формы, пытаясь принять этот вызов Ajax и изменить его для отправки данных: [link]gist.github.com/3841680 - person Eric; 26.11.2012
comment
Затем вы можете использовать jquery для выполнения ajax, создавать переменные сообщения с чем-то вроде $.post("http://cl.exct.net/subscribe.aspx?lid=hidden", $("#subscribeForm").serialize()); - person jbnunn; 27.11.2012