オンラインで入手したより大きなphpスクリプトの一部としてsendEmail関数があり、新しいMailgunアカウントを使用するように変更する必要があります。私はPHPにかなり慣れておらず、メールサーバーなどにも慣れていないので、これは先週の課題でした。Mailgunのドキュメントには、PHPを使用してHTTP POSTを介して送信する例が示されています(上部の[PHP]ボタンをクリックしてください)。
function send_simple_message() {
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, 'api:my-api-key-here');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_URL, 'https://api.mailgun.net/v2');
curl_setopt($ch, CURLOPT_POSTFIELDS, array('from' => 'Excited User <me@samples.mailgun.org>',
'to' => 'obukhov.sergey.nickolayevich@yandex.ru',
'subject' => 'Hello',
'text' => 'Testing some Mailgun awesomness!'));
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
私の既存のsendEmail関数は次のようになります。
public function sendEmail($to, $subj, $msg, $shortcodes = '', $bcc = false) {
if ( !empty($shortcodes) && is_array($shortcodes) ) :
foreach ($shortcodes as $code => $value)
$msg = str_replace('{{'.$code.'}}', $value, $msg);
endif;
/* Multiple recepients? */
if ( is_array( $to ) )
$to = implode(', ', $to);
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: ' . address . "\r\n";
/* BCC address. */
if ( $bcc ) {
$headers .= 'Bcc: ' . $to . "\r\n";
$to = null;
}
$headers .= 'Reply-To: ' . address . "\r\n";
$headers .= 'Return-Path: ' . address . "\r\n";
/*
* If running postfix, need a fifth parameter since Return-Path doesn't always work.
*/
// $optionalParams = '-r' . address;
$optionalParams = '';
return mail($to, $subj, nl2br(html_entity_decode($msg)), $headers, $optionalParams);
}
他の既存の領域からそれらを描画しているので、関数でto、subject、textなどを指定したくないことを知っているので、関数にこのようなものを一時的に追加してみました(申し訳ありませんが方法がありませんそれがめちゃくちゃになって、最初からやり直したので、すべてがまとめられているように見えました:
curl_setopt($ch, CURLOPT_POSTFIELDS, array('from' => 'Webmaster <webmaster@mydomain.com>',
'to' => $to,
'subject' => $subj,
'text' => $msg));
$ch = curl_init();
また、sendEmail関数のすぐ内側とすべてのcurl_setopt
行を追加しました。それを超えて私は迷子になり、おそらくあなたが推測できるように、何も起こりませんでした。
誰かが私に2つを組み合わせる方法と、なぜこの種のものに非常に似ている場所を私に指摘することができますか?
助けてくれてありがとう!