###前提・実現したいこと
Gmail api を使いメール送信を行います。
下記のURLを参考にコードを書き、無事に動きましたが・・・
https://www.note.technology/note/201604102243
下記のソースでは件名や本文が直接書き込んであります。
ここを変数で処理したいのですが上手く行きません。
クエリを上手く渡す方法をお知りの方、お力をお貸しいただけますでしょうか。
###該当のソースコード
<?php session_start(); require_once 'google-api-php-client-2.0.0-RC7/vendor/autoload.php'; $client_id = '**********'; $client_secret = '**********'; $redirect_uri = {redirect_uri}; $to_email_address = {to_email_address}; $client = new Google_Client(); $client->setClientId($client_id); $client->setClientSecret($client_secret); $client->setRedirectUri($redirect_uri); $client->setState('offline'); $client->addScope("https://www.googleapis.com/auth/gmail.compose"); $service = new Google_Service_Gmail($client); $auth_url = $client->createAuthUrl(); if(isset($_GET['code'])) { //get access token $client->authenticate($_GET['code']); $_SESSION['access_token'] = $client->getAccessToken(); header("Location: {$redirect_uri}"); }elseif(isset($_SESSION['access_token'])){ //mail send $client->setAccessToken($_SESSION['access_token']); $subject = mb_convert_encoding( "タイトル", "JIS", "UTF-8" ); $subject = "Subject: =?ISO-2022-JP?B?" . base64_encode($subject) . "?="; $to = "To: {$to_email_address}"; $body = "本文。"; $send_data = "$subject\n$to\n\n$body"; $send_data = rtrim(strtr(base64_encode($send_data), '+/', '-_'), '='); $msg = new Google_Service_Gmail_Message(); $msg->setRaw($send_data); $result = $service->users_messages->send("me", $msg); unset($_SESSION['access_token']); }else{ //oauth print("<a href=\"{$auth_url}\">認証してテストメールを送信</a>"); }
###試したこと
上記ソースの冒頭部分に以下を挿入しました。
$name=$_GET['name']; $message = <<< EOF {$name} さま 本文 EOF;
そして
$body = "本文。";
を
$body = $message;
としました。
$auth_url = $client->createAuthUrl();
の後に
$auth_url .= "&name=aaaaa";
と試しにしたところ、nameが空白になってしまいクエリが渡せません。
変数でnameを変化させたいのですが、お力をお借りできますでしょうか。
どうぞよろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー