@@ -122,7 +122,6 @@ protected function payload(Swift_Mime_SimpleMessage $message, array $region)
122
122
'ToAddress ' => $ this ->getTo ($ message ),
123
123
'FromAlias ' => Arr::get ($ this ->options , 'from_alias ' ),
124
124
'Subject ' => $ message ->getSubject (),
125
- 'HtmlBody ' => $ message ->getBody (),
126
125
'ClickTrace ' => Arr::get ($ this ->options , 'click_trace ' , 0 ),
127
126
'Format ' => 'json ' ,
128
127
'Action ' => 'SingleSendMail ' ,
@@ -135,6 +134,9 @@ protected function payload(Swift_Mime_SimpleMessage $message, array $region)
135
134
'RegionId ' => $ region ['id ' ],
136
135
]);
137
136
137
+ $ bodyName = $ this ->getBodyName ($ message );
138
+ $ parameters [$ bodyName ] = $ message ->getBody ();
139
+
138
140
$ parameters ['Signature ' ] = $ this ->makeSignature ($ parameters );
139
141
140
142
return $ parameters ;
@@ -155,9 +157,9 @@ protected function makeSignature(array $parameters)
155
157
$ encoded [] = \sprintf ('%s=%s ' , rawurlencode ($ key ), rawurlencode ($ value ));
156
158
}
157
159
158
- $ signString = 'POST&%2F& ' . rawurlencode (\join ('& ' , $ encoded ));
160
+ $ signString = 'POST&%2F& ' . rawurlencode (\join ('& ' , $ encoded ));
159
161
160
- return base64_encode (hash_hmac ('sha1 ' , $ signString , $ this ->getSecret (). '& ' , true ));
162
+ return base64_encode (hash_hmac ('sha1 ' , $ signString , $ this ->getSecret () . '& ' , true ));
161
163
}
162
164
163
165
/**
@@ -236,4 +238,14 @@ public function setSecret(string $secret)
236
238
{
237
239
return $ this ->secret = $ secret ;
238
240
}
241
+
242
+ /**
243
+ * @param Swift_Mime_SimpleMessage $message
244
+ *
245
+ * @return string
246
+ */
247
+ protected function getBodyName (Swift_Mime_SimpleMessage $ message )
248
+ {
249
+ return $ message ->getBodyContentType () == 'text/plain ' ? 'TextBody ' : 'HtmlBody ' ;
250
+ }
239
251
}
0 commit comments