1 個回答
- 最新
- 最多得票
- 最多評論
2
When you run it locally, you have a different environment than when it runs via your web browser and your web server. Make sure you have your AWS credentials properly available to your script. You also should be able to look in your server error logs to see details of what's causing the error. Finally, you can surround the call to sendEmail([...])
with a try { sendEmail([...]); } catch (Exception $e) { echo "<pre>"; print_r($e); echo "</pre>"; }
to see if that catches the error and displays what's going on.
For our purposes, we have the AWS credentials in a text file on the server in a non-public path that the script can access and then we use the CredentialProvider to ... provide the credentials. ;)
use Aws\Credentials\CredentialProvider; use Aws\Ses\SesClient; $provider = CredentialProvider::ini('default', '/path/to/credentials.file'); $provider = CredentialProvider::memoize($provider); $sesClient = SesClient::factory([ 'region' => 'us-east-1', 'version' => 'latest', 'credentials' => $provider, ]);
已回答 2 年前
相關內容
- AWS 官方已更新 8 個月前
- AWS 官方已更新 1 年前
- AWS 官方已更新 9 個月前
I'm guessing this is an AWS credential issue but that is just a guess without a proper error message. Check your webserver's log file for a better error message?