Note that there are some explanatory texts on larger screens.

plurals
  1. POcombining phpmailer_v5.1 use_gmail with paypal ipn responder
    primarykey
    data
    text
    <p>I have two scripts and want to combine them in one line. I have marked the line with this comment:'here I need stack-overflow-help'.</p> <p>First script: This is the Paypal ipn responder (<a href="https://www.x.com/developers/PayPal/documentation-tools/code-sample/216623" rel="nofollow">https://www.x.com/developers/PayPal/documentation-tools/code-sample/216623</a>):</p> <pre><code>&lt;?php // STEP 1: Read POST data // reading posted data from directly from $_POST causes serialization // issues with array data in POST // reading raw POST data from input stream instead. $raw_post_data = file_get_contents('php://input'); $raw_post_array = explode('&amp;', $raw_post_data); $myPost = array(); foreach ($raw_post_array as $keyval) { $keyval = explode ('=', $keyval); if (count($keyval) == 2) $myPost[$keyval[0]] = urldecode($keyval[1]); } // read the post from PayPal system and add 'cmd' $req = 'cmd=_notify-validate'; if(function_exists('get_magic_quotes_gpc')) { $get_magic_quotes_exists = true; } foreach ($myPost as $key =&gt; $value) { if($get_magic_quotes_exists == true &amp;&amp; get_magic_quotes_gpc() == 1) { $value = urlencode(stripslashes($value)); } else { $value = urlencode($value); } $req .= "&amp;$key=$value"; } // STEP 2: Post IPN data back to paypal to validate $ch = curl_init('https://www.paypal.com/cgi-bin/webscr'); curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_POSTFIELDS, $req); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch, CURLOPT_FORBID_REUSE, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: Close')); // In wamp like environments that do not come bundled with root authority certificates, // please download 'cacert.pem' from "http://curl.haxx.se/docs/caextract.html" and set the directory path // of the certificate as shown below. // curl_setopt($ch, CURLOPT_CAINFO, dirname(__FILE__) . '/cacert.pem'); if( !($res = curl_exec($ch)) ) { // error_log("Got " . curl_error($ch) . " when processing IPN data"); curl_close($ch); exit; } curl_close($ch); // STEP 3: Inspect IPN validation result and act accordingly if (strcmp ($res, "VERIFIED") == 0) { // check whether the payment_status is Completed // check that txn_id has not been previously processed // check that receiver_email is your Primary PayPal email // check that payment_amount/payment_currency are correct // process payment // assign posted variables to local variables $item_name = $_POST['item_name']; $item_number = $_POST['item_number']; $payment_status = $_POST['payment_status']; $payment_amount = $_POST['mc_gross']; $payment_currency = $_POST['mc_currency']; $txn_id = $_POST['txn_id']; $receiver_email = $_POST['receiver_email']; $payer_email = $_POST['payer_email']; } else if (strcmp ($res, "INVALID") == 0) { // log for manual investigation } ?&gt; </code></pre> <p>Second script:</p> <p>This is phpmailer_v5.1 use_gmail.php:</p> <pre><code>&lt;?php // example on using PHPMailer with GMAIL include("class.phpmailer.php"); include("class.smtp.php"); // note, this is optional - gets called from main class if not already loaded $mail = new PHPMailer(); $body = 'this is the body of the email'; $mail-&gt;IsSMTP(); $mail-&gt;SMTPAuth = true; // enable SMTP authentication $mail-&gt;SMTPSecure = "ssl"; // sets the prefix to the servier $mail-&gt;Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server $mail-&gt;Port = 465; // set the SMTP port $mail-&gt;Username = "yourname@gmail.com"; // GMAIL username $mail-&gt;Password = "password"; // GMAIL password $mail-&gt;From = "replyto@yourdomain.com"; $mail-&gt;FromName = "Webmaster"; $mail-&gt;Subject = "This is the subject"; $mail-&gt;AltBody = "This is the body when user views in plain text format"; //Text Body $mail-&gt;WordWrap = 50; // set word wrap $mail-&gt;MsgHTML($body); $mail-&gt;AddReplyTo("replyto@yourdomain.com","Webmaster"); $mail-&gt;AddAttachment("/path/to/file.zip"); // attachment $mail-&gt;AddAttachment("/path/to/image.jpg", "new.jpg"); // attachment $mail-&gt;AddAddress("username@domain.com","First Last"); //here I need stackoverflow-help $mail-&gt;IsHTML(true); // send as HTML if(!$mail-&gt;Send()) { echo "Mailer Error: " . $mail-&gt;ErrorInfo; } else { echo "Message has been sent"; } ?&gt; </code></pre> <p>I have <code>class.smtp</code> and <code>class.phpmailer</code> in the same folder.use_gmail.php is tested and working and sending emails.But only when I write the destination email address in this line:</p> <pre><code>$mail-&gt;AddAddress("username@domain.com","First Last"); </code></pre> <p>I want to send the email to the customer who just made the payment.How can I get the destination e-mail address from Paypal?</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload