2016-07-01 4 views
0

anzuzeigen Ich möchte E-Mails mit de Mandrill API senden. Ich habe mi apikey in einem php var, aber wenn ich var apikey='<?php echo$apikey;?>'; mache, zeigt dies im inspect elemnt.Verwenden Sie eine PHP-Variable in Javascript/Ajax ohne im Inspect-Element

seine posibble verstecken, verschlüsseln oder etwas die Variable mit PHP, Javascript, AJAX oder JSON?

dies und als Beispiel meines Code:

<?php 
$apikey='aaaaaaaaaaaaaa'; 
?> 
<script type="text/javascript"> 
    var apikey='<?php echo$apikey;?>'; 
    sendEmail(); 
function sendEmail() { 
    $.ajax({ 
    type: 'POST', 
    url: 'https://mandrillapp.com/api/1.0/messages/send.json', 
    data: { 
     'key': apikey, 
     'message': { 
     'from_email': 'FROM_EMAIL_GOES_HERE', 
     'to': [{ 
      'email': $('.email').val(), // get email from form 
      'name': $('.name').val(), // get name from form 
      'type': 'to' 
      } 
     ], 
     'autotext': 'true', 
     'subject': 'EMAIL_SUBJECT_GOES_HERE', 
     'html': "Hey *|COOLFRIEND|*, we've been friends for *|YEARS|*.", // example of how to use the merge tags 
     'track_opens': true, 
     'track_clicks': true, 
     } 
    } 
    }).done(function(response) { 
    console.log(response); // if you're into that sorta thing 
    }); 
}); 
</script> 
+0

Nicht möglich. Sie können den Browser nicht auffordern, einen Wert zu verwenden, ohne dem Browser mitzuteilen, um welchen Wert es sich handelt. – David

+1

Nicht möglich, aber Sie können stattdessen eine php-Seite aufrufen, die das Senden von E-Mails anfordert. Diese wiederum soll die Mandrill-API aufrufen und sich um das Versenden von E-Mails kümmern. 'HINWEIS - Alles, was Sie tun oder auf den Browser setzen, ist leicht zugänglich und wird immer mit einem Inspektor-Tool sichtbar sein. – Dharam

Antwort

4

können Sie Setup ein PHP-Dienst und verwenden curl die Übertragung von Arbeit zu tun. Dann lassen Sie AJAX das Frontend arbeiten und senden Sie das Thema/body/etc an den PHP-Dienst.

+0

Sie sollten die E-Mail von Ihrem Server-Code (PHP) nicht von Ihrer Webseite senden –

0

@Lifz funktioniert gut für mich

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $uri); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $postString); 
$result = curl_exec($ch); 
Verwandte Themen