質問するログイン新規登録

質問編集履歴

2

2020/09/22 13:14

投稿

mikeko0901
mikeko0901

スコア227

title CHANGED
File without changes
body CHANGED
@@ -91,4 +91,6 @@
91
91
  echo 'Caught exception: '. $e->getMessage() ."\n";
92
92
  }
93
93
 
94
- ```
94
+ ```
95
+
96
+ ちなみに、開発環境はcloud9ですが、開発環境ではエラーも出ずに動いています。

1

フォルダ構成とコードを記載しました。

2020/09/22 13:14

投稿

mikeko0901
mikeko0901

スコア227

title CHANGED
File without changes
body CHANGED
@@ -36,4 +36,59 @@
36
36
 
37
37
 
38
38
  ```
39
- 解決方法のアドバイスをいただけますと幸いです。
39
+ 解決方法のアドバイスをいただけますと幸いです。
40
+
41
+ 【追記】
42
+ フォルダ構成と、.env、phpファイルのコードを追記します。
43
+
44
+ 公開ルートディレクトリ直下に.envファイルを置き、
45
+ contact/func.phpファイルでphpdotenvを使っています。
46
+
47
+ ルートディレクトリ
48
+ └.env
49
+ └contactフォルダ
50
+   └contactフォルダの下にfunc.php
51
+
52
+ .env内
53
+ ```
54
+ SEND_GRID_KEY = "キーが入ります"
55
+ ```
56
+
57
+ func.php
58
+ ```
59
+ <?php
60
+ require_once ("../vendor/autoload.php");
61
+
62
+ $mail_subject = "お問合わせ受付";
63
+ $mail_body = "以下の内容でお問い合わせを受け付けました。";
64
+ $mail_to = "メールアドレスの配列";
65
+
66
+ $dotenv = Dotenv\Dotenv::createImmutable(dirname(__DIR__));
67
+ $dotenv->load();
68
+
69
+ $key = $_ENV["SEND_GRID_KEY"];
70
+
71
+ // Declare a new SendGrid Mail object
72
+ $email = new \SendGrid\Mail\Mail();
73
+ // Set the email parameters
74
+ $email->setFrom("メールアドレスが入ります", "From名が入ります");
75
+ $email->setSubject($mail_subject);
76
+ $tos = $mail_to;
77
+
78
+ $email->addTos($tos);
79
+
80
+ $email->addContent("text/plain", $mail_body);
81
+ //$email->addContent("text/html", "and easy to do anywhere, even with PHP");
82
+ $sendgrid = new \SendGrid($key);
83
+ // Send the email
84
+ try {
85
+ $response = $sendgrid->send($email);
86
+ print $response->statusCode() . "\n";
87
+ print_r($response->headers());
88
+ print $response->body() . "\n";
89
+ echo "email sent!\n";
90
+ } catch (Exception $e) {
91
+ echo 'Caught exception: '. $e->getMessage() ."\n";
92
+ }
93
+
94
+ ```