質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

4回答

8086閲覧

Amazon SESでメール送信

pappikko

総合スコア6

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2018/05/20 09:05

編集2018/05/21 07:27

5/21投稿ーーーーーー
y_waiwaiさんからいただいたアドバイス通り実行してみたところ
以下のエラーが表示されました。

[Sun May 20 23:29:28.344157 2018] [:error] [pid 25122] [client 106.181.135.135:51420] PHP Fatal error: Uncaught exception 'Aws\Exception\CredentialsException' with message 'Error retrieving credentials from the instance profile metadata server. (Client error: `GET http://169.254.169.254/latest/meta-data/iam/security-credentials/` resulted in a `404 Not Found` response:\n<?xml version="1.0" encoding="iso-8859-1"?>\n<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"\n "htt (truncated...)\n)' in /var/www/html/vendor/aws/aws-sdk-php/src/Credentials/InstanceProfileProvider.php:88\nStack trace:\n#0 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(203): Aws\Credentials\InstanceProfileProvider->Aws\Credentials\{closure}(Array)\n#1 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(156): GuzzleHttp\Promise\Promise::callHandler(2, Array, Array)\n#2 /var/www/html/vendor/guzzlehttp/promises/src/TaskQueue.php(47): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}()\n#3 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(98): GuzzleHttp\Promise\TaskQueue->run()\n#4 /var/www in /var/www/html/vendor/aws/aws-sdk-php/src/Credentials/InstanceProfileProvider.php on line 88

credentialsのファイル(認証情報を記載したファイル)を取得中にエラーになっているようなことが書いてあります。
credentialsファイルはhome/ec2-user/.awsの配下にあります。

エラーメッセージで検索したところ以下のリンクを見つけて、コメントの通り
AWS CLIをインストール > $ aws configure > シークレットキーなどの入力もしましたが、
結果は同じでした。

認証情報は作成したIAMユーザーの認証情報だが、実行ユーザーはec2-userである点が、
怪しいかもと思っているのですが、IAMユーザーを実行ユーザーにする方法がわかりません。。。

ちなみに、testmail.phpをコマンドで実行するとメール送信は成功します。

[ec2-user@ip-172-31-39-44 html]$ php testmail.php Email sent! Message ID: 010101638168d54e-2db33562-1e58-46cd-8be8-e24da6349e25-000000

5/20投稿ーーーーーー
プログラミング勉強中の者です。
Amazon SESでメール送信を実装しようとしています。

AWSのチュートリアルに沿って、もろもろ設定を終え、
ターミナルでphpファイル(testmail.php)を実行し送信成功するところまでは出来たのですが、
ブラウザで実行するとエラーが出てしまいます。

エラーログをみると権限の問題のようなのですが、権限をどのように設定すれば良いのかわかりません。。。
home ディレクトリ以下の権限は以下の通りです。

drwxrwxrwx 3 root root 4096 4月 3 23:05 home drwx------ 7 ec2-user ec2-user 4096 5月 9 15:56 ec2-user drwxrwxr-x 10 ec2-user ec2-user 4096 5月 20 15:57 vendor -rwxrwxr-x 1 ec2-user ec2-user 178 5月 9 15:57 autoload.php drwxrwxr-x 3 ec2-user ec2-user 4096 5月 9 15:57 aws drwxrwxr-x 2 ec2-user ec2-user 4096 5月 9 15:57 bin drwxrwxr-x 2 ec2-user ec2-user 4096 5月 9 15:57 composer drwxrwxr-x 3 ec2-user ec2-user 4096 5月 1 15:39 guzzle drwxrwxr-x 5 ec2-user ec2-user 4096 5月 9 15:57 guzzlehttp drwxrwxr-x 3 ec2-user ec2-user 4096 5月 9 15:57 mtdowling drwxrwxr-x 3 ec2-user ec2-user 4096 5月 9 15:57 psr drwxrwxr-x 3 ec2-user ec2-user 4096 5月 1 15:39 symfony

testmail.phpの権限(var/www/html/testmail.php)

-rw-r--r-- 1 ec2-user apache 2468 5月 9 17:04 testmail.php

エラーログ

[Sun May 20 16:29:28.411700 2018] [:error] [pid 22602] [client 106.181.133.216:62905] PHP Warning: require(../../../home/ec2-user/vendor/autoload.php): failed to open stream: Permission denied in /var/www/html/testmail.php on line 33 [Sun May 20 16:29:28.411745 2018] [:error] [pid 22602] [client 106.181.133.216:62905] PHP Fatal error: require(): Failed opening required '../../../home/ec2-user/vendor/autoload.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/testmail.php on line 33

testmail.php

<?php // Replace path_to_sdk_inclusion with the path to the SDK as described in // http://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/basic-usage.html define('REQUIRED_FILE','../../../home/ec2-user/vendor/autoload.php'); // Replace sender@example.com with your "From" address. // This address must be verified with Amazon SES. define('SENDER', 'sample@sample.com'); // Replace recipient@example.com with a "To" address. If your account // is still in the sandbox, this address must be verified. define('RECIPIENT', 'sample@sample.com'); // Specify a configuration set. If you do not want to use a configuration // set, comment the following variable, and the // 'ConfigurationSetName' => CONFIGSET argument below. define('CONFIGSET','ConfigSet'); // Replace us-west-2 with the AWS Region you're using for Amazon SES. define('REGION','us-west-2'); define('SUBJECT','Amazon SES test (AWS SDK for PHP)'); define('HTMLBODY','<h1>AWS Amazon Simple Email Service Test Email</h1>'. '<p>This email was sent with <a href="https://aws.amazon.com/ses/">'. 'Amazon SES</a> using the <a href="https://aws.amazon.com/sdk-for-php/">'. 'AWS SDK for PHP</a>.</p>'); define('TEXTBODY','This email was send with Amazon SES using the AWS SDK for PHP.'.'http://owalive.fun?p=1'); define('CHARSET','UTF-8'); require REQUIRED_FILE; use Aws\Ses\SesClient; use Aws\Ses\Exception\SesException; $client = SesClient::factory(array( 'version'=> 'latest', 'region' => REGION )); try { $result = $client->sendEmail([ 'Destination' => [ 'ToAddresses' => [ RECIPIENT, ], ], 'Message' => [ 'Body' => [ /*'Html' => [ 'Charset' => CHARSET, 'Data' => HTMLBODY, ],*/ 'Text' => [ 'Charset' => CHARSET, 'Data' => TEXTBODY, ], ], 'Subject' => [ 'Charset' => CHARSET, 'Data' => SUBJECT, ], ], 'Source' => SENDER, // If you are not using a configuration set, comment or delete the // following line // 'ConfigurationSetName' => CONFIGSET, ]); $messageId = $result->get('MessageId'); echo("Email sent! Message ID: $messageId"."\n"); } catch (SesException $error) { echo("The email was not sent. Error message: ".$error->getAwsErrorMessage()."\n"); } ?>

2日調べ、home/ec2-user/vendor以下をvar/www/html/配下に移すなどもしたのですが、
解決出来ず、アドバイスをいただけないでしょうか。
上記以外に必要な情報がございましたらご指示ください。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

phpを動かしているユーザにスイッチユーザしてaws configureしてください。
sudo su -でルートになれますので、その後、該当のユーザになって実行すれば良いです。

わかるのであれば、/home/ec2-user/.awsごと該当ユーザにコピーして権限変更しても良いです。

その後、EC2メタデータサーバに対してcurl http://169.254.169.254/latest/meta-data/を実行してください。
接続できなければ、セキュリティグループ。
値が返ってこなければ、STSが悪いです。

投稿2018/05/21 10:39

lazhuward

総合スコア1294

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pappikko

2018/05/21 11:28

lazhuwardさんありがとうございます。 phpを動かしているユーザ... →phpinfo()で確認すればいいですかね?  apache(48)とあったのでapacheにスイッチ > aws configure > var/www以下に.awsディレクトリが作られました。  credentials、configファイルもあります。 その後、EC2メタデータサーバに対してcurl http://169.254.169.254/latest/meta-data/を実行してください。 →ユーザー=apacheのまま、実行しました。結果は以下です。  これは値が帰ってきていないということになりますか? -bash-4.2$ curl http://169.254.169.254/latest/meta-data/ ami-id ami-launch-index ami-manifest-path block-device-mapping/ hostname instance-action instance-id instance-type local-hostname local-ipv4 mac metrics/ network/ placement/ profile public-hostname public-ipv4 public-keys/ reservation-id security-groups
lazhuward

2018/05/22 01:07 編集

接続できなければ、エラーになるかタイムアウトするのでおそらく大丈夫です。 その状態でブラウザから実行した時にどうなりますか? もし同じエラーが出るのであれば、使用されいるIAM(アクセスキーとシークレットアクセスキーをいれたユーザ)のプログラムアクセスのところのチェックが入っているか確認してください。
pappikko

2018/05/23 03:35

lazhuwardさん > その状態でブラウザから実行した時にどうなりますか? →同じエラーが表示されます。 > プログラムアクセスのところのチェックが入っているか確認してください。 →既存ユーザーのプログラムアクセスの確認方法が見つけられなかったので、新規ユーザーを作成してシークレットキーなどの設定をし直しましたが結果は同じでした。 前のコメントでいただいた curl http://169.254.169.254/latest/meta-data/ の実行結果に iam が含まれていないことに気づきました。 また、curl http://169.254.169.254/latest/meta-data/iam/security-credentials/ を実行してみた結果が以下でした。なにかヒントはありますでしょうか。。。 -bash-4.2$ curl http://169.254.169.254/latest/meta-data/iam/security-credentials/ <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>404 - Not Found</title> </head> <body> <h1>404 - Not Found</h1> </body> </html>
lazhuward

2018/05/23 05:16

多分、apacheさんがモジュール見れてないだけのような気がします。 モジュールにapacheが見れるように権限つけてあげてください。 本当は、/home と同列にインストールしてしまっているため、違うところ(/usr/phpとか/var/phpとか)に、再インストールしたほうが良いです。
pappikko

2018/05/23 06:33

ここで言われているモジュールとは何に当たりますでしょうか?
lazhuward

2018/05/23 06:37 編集

--- drwxrwxr-x 10 ec2-user ec2-user 4096 5月 20 15:57 vendor -rwxrwxr-x 1 ec2-user ec2-user 178 5月 9 15:57 autoload.php drwxrwxr-x 3 ec2-user ec2-user 4096 5月 9 15:57 aws drwxrwxr-x 2 ec2-user ec2-user 4096 5月 9 15:57 bin drwxrwxr-x 2 ec2-user ec2-user 4096 5月 9 15:57 composer drwxrwxr-x 3 ec2-user ec2-user 4096 5月 1 15:39 guzzle drwxrwxr-x 5 ec2-user ec2-user 4096 5月 9 15:57 guzzlehttp drwxrwxr-x 3 ec2-user ec2-user 4096 5月 9 15:57 mtdowling drwxrwxr-x 3 ec2-user ec2-user 4096 5月 9 15:57 psr drwxrwxr-x 3 ec2-user ec2-user 4096 5月 1 15:39 symfony --- php install したモジュールです。このあたりかと思います。 チェンジオーナーするかチェンジモードすればよいですよ。
pappikko

2018/05/23 11:24

指摘していただいたディレクトリとファイルおよび.awsディレクトリは/home/ec2-user 配下と /var/www/html 配下にありまして、 全てオーナーもグループもアパッチにしました。 curl http://169.254.169.254/latest/meta-data/を実行したときに iam/ が出てくるようにはなりましたが、ダメでした。。。 本日、AWSに詳しい方に質問する機会があり、エラーを見てもらったところ ec2インスタンスに(SESFullAccessがアタッチされた)IAMロールを割り当てる、または testmail.php に以下の通り直にシークレットIDを書くという方法でとりあえずブラウザで実行できるようになりました。 $client = SesClient::factory(array( 'version'=> 'latest', 'region' => REGION, 'credentials' => [ 'key' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxx', 'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'], )); credencials が見れないというのは解決できておらず、 また、たくさんアドバイスをいただいたlazhuwardさんには誠に申し訳ないのですが、 一旦実装を進めるため、本件は解決(仮)とさせていただきます。 ありがとうございました!
pappikko

2018/05/24 03:12 編集

ちゃんと理解できていないのですが、教えてくれた人が言っていたのは、 以下のエラーは credentials が取得できない → インスタンスに割り当てられたロールを見に行く → ロールが割り当てられてない。という感じの内容のようです。 インスタンスにSESFullAccessがアタッチされたIAMロールを割り当てると credentials が見れなくても、ロールの権限で送信ができる?ようです。 [Sun May 20 23:29:28.344157 2018] [:error] [pid 25122] [client 106.181.135.135:51420] PHP Fatal error: Uncaught exception 'Aws\Exception\CredentialsException' with message 'Error retrieving credentials from the instance profile metadata server. (Client error: `GET http://169.254.169.254/latest/meta-data/iam/security-credentials/` resulted in a `404 Not Found` response:\n<?xml version="1.0" encoding="iso-8859-1"?>\n<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"\n "htt (truncated...)\n)' in /var/www/html/vendor/aws/aws-sdk-php/src/Credentials/InstanceProfileProvider.php:88\nStack trace:\n#0 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(203): Aws\Credentials\InstanceProfileProvider->Aws\Credentials\{closure}(Array)\n#1 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(156): GuzzleHttp\Promise\Promise::callHandler(2, Array, Array)\n#2 /var/www/html/vendor/guzzlehttp/promises/src/TaskQueue.php(47): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}()\n#3 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(98): GuzzleHttp\Promise\TaskQueue->run()\n#4 /var/www in /var/www/html/vendor/aws/aws-sdk-php/src/Credentials/InstanceProfileProvider.php on line 88
lazhuward

2018/05/24 02:08

自己解決ということで、了解しました。 curl http://169.254.169.254/latest/meta-data/ の返答で、 IAMが出てこないので、EC2にIAMロールがあたってないのはわかってたのですが Credentialで解決する方法を試されていたので、IAMロール使わない方針と思ってしまっておりました。 先に聞けばよかったです。すみません。 >インスタンスにSESFullAccessがアパッチされたIAMロールを割り当てると credentials が見れなくても、ロールの権限で送信ができる これはその理解で大丈夫です。アパッチではなくアタッチですが。。。 EC2インスタンスにIAMロールを追加するとIAMロールに入っているポリシー権限でアクセスが可能になり、ポリシーに入っているAWSサービスが実行できるようになります。
pappikko

2018/05/24 03:20

いろいろとアドバイスをいただきありがとうございました。 現在プログラミンの勉強を初めて3ヶ月程度なので、コマンドやらApacheやらlinaxのユーザーやらわからないことが多く、、、 本当に感謝しています。 > curl http://169.254.169.254/latest/meta-data/ の返答で、 IAMが出てこないので、EC2にIAMロールがあたってないのはわかってたのですが Credentialで解決する方法を試されていたので、IAMロール使わない方針と思ってしまっておりました。 先に聞けばよかったです。すみません。 →そうだったのですね。credentialsを見る方法しか知らなかったので固執していました。。。  なぜ見れないのだろうと今でも少しモヤっとしているのですが、とりあえず先に進もうと思います。 > これはその理解で大丈夫です。アパッチではなくアタッチですが。。。 EC2インスタンスにIAMロールを追加するとIAMロールに入っているポリシー権限でアクセスが可能になり、ポリシーに入っているAWSサービスが実行できるようになります。 →なるほど。勉強になります!  あ、”アタッチ”に直しておきました。ありがとうございます。
guest

0

phpで書いたことはないので、予想になりますが。
コマンドで実行した際に成功するのは、home/ec2-user/.aws/credentialsの情報を自動的に見に行ってくれてるからだと思います。

「aws configure」コマンドで設定したアクセスキーと、シークレットキーをコードの中に埋め込んでみて試してみてください。
コードの中に埋め込んでしまえば、どこから実行しても認証が通ってくれるはずです。

php

1// Amazon APIのアクセスキーとシークレットキーを入力 2define("Access_Key_ID", "XXXXXXXXXXXXXXXXXXXXXXXXXX"); 3define("Secret_Access_Key", "XXXXXXXXXXXXXXXXXXXXXXXXXX");

投稿2018/05/21 09:21

編集2018/05/21 09:23
IPU

総合スコア283

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pappikko

2018/05/23 11:26

testmail.phpに以下の通り直書きすることで送信できるようになりました。 ありがとうございました。 $client = SesClient::factory(array( 'version'=> 'latest', 'region' => REGION, 'credentials' => [ 'key' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxx', 'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'], ));
IPU

2018/05/24 01:56

あー、良かったです。 反応ないので、質問に対する回答になってないのかと思ってました(汗)
pappikko

2018/05/24 03:10

ごめんなさい!!!どう書けばいいのだろうと思っていたのと、でいれば直書きしない方法をと思っていたのでコメントを先延ばしにしてしまいました。。。
guest

0

エラーにある autoload.php というファイルは、どこのディレクトリにあるんでしょうか?

投稿2018/05/20 10:30

y_waiwai

総合スコア87749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pappikko

2018/05/20 12:19

ありがとうございます。 home/ec2-user/vendor/autoload.php というふうになっています。
y_waiwai

2018/05/20 12:25

/home/ec2-user/vendor 以下を、 /var/www/html/vender のフォルダにコピーして、 define('REQUIRED_FILE','vendor/autoload.php'); としてみる
pappikko

2018/05/20 14:43

ありがとうございます!やってみました。 次は以下のようなエラーがでました。。。 [Sun May 20 23:29:28.344157 2018] [:error] [pid 25122] [client 106.181.135.135:51420] PHP Fatal error: Uncaught exception 'Aws\Exception\CredentialsException' with message 'Error retrieving credentials from the instance profile metadata server. (Client error: `GET http://169.254.169.254/latest/meta-data/iam/security-credentials/` resulted in a `404 Not Found` response:\n<?xml version="1.0" encoding="iso-8859-1"?>\n<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"\n "htt (truncated...)\n)' in /var/www/html/vendor/aws/aws-sdk-php/src/Credentials/InstanceProfileProvider.php:88\nStack trace:\n#0 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(203): Aws\Credentials\InstanceProfileProvider->Aws\Credentials\{closure}(Array)\n#1 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(156): GuzzleHttp\Promise\Promise::callHandler(2, Array, Array)\n#2 /var/www/html/vendor/guzzlehttp/promises/src/TaskQueue.php(47): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}()\n#3 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(98): GuzzleHttp\Promise\TaskQueue->run()\n#4 /var/www in /var/www/html/vendor/aws/aws-sdk-php/src/Credentials/InstanceProfileProvider.php on line 88 このリンクを解読すればいいのでしょうか? https://stackoverflow.com/questions/27400563/aws-sdk-for-php-error-retrieving-credentials-from-the-instance-profile-metadata?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa
guest

0

自己解決

5/20投稿分
ec2-userでsshログインしたまま、AWS SDK for PHPをインストールしたためhomeディレクトリ配下にvendorディレクトリがあった。
homeディレクトリは、デフォルトでは実行ユーザーに権限がない。
→権限を変更するか、ディレクトリを移す。

自分は、/home/ec2-user配下のvendorディレクトリを/var/www/html配下に移しました。

5/21投稿分
lazhuwardさんにアドバイスいただきいろいろ試しましたが、credentialsが見れないというのは解決できませんでした。
詳しい方に質問したところ、EC2インスタンスにロールを割り当てることでブラウザからメール送信できるようになりました。
EC2コンソールのアクション>インスタンスの設定>IAMロールの割り当てから設定できます。
なお、割り当てるロールにはSESFullAccessがアタッチされている必要があるようです。

イメージ説明

または、IPUさんの返信コメントで記載した通り、コードにシークレットキーなどを直接書いても送信できました。

投稿2018/05/24 03:05

pappikko

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pappikko

2018/05/25 06:47

追記 ちゃんと確認はしていませんが、if文の中でuseは使えない?ようです。 if文のなかにメールを送信するスクリプトを書いたところ、 use Aws\Ses\SesClient; use Aws\Ses\Exception\SesException; でエラーが発生しまして、調べたところtry文の中でuseが使えないというヒントを得まして、 try文の中では使ってないですが、if文の中で利用していたので、 if文の外に出したら、エラーがなくなりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問