Guest User

Untitled

a guest
May 28th, 2018
356
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.35 KB | None | 0 0
  1. S3
  2.  
  3. require 'aws-autoloader.php';
  4. use Aws\S3\S3Client;
  5. use Aws\S3\Exception\S3Exception;
  6.  
  7. Create Bucket
  8.  
  9. <?php
  10.  
  11. $bucket_name = 'bucket_name';
  12. $s3 = new S3Client([
  13. 'version' => 'latest',
  14. 'region' => 'us-east-1',
  15. ]);
  16.  
  17. try {
  18. $result = $s3->createBucket([
  19. 'Bucket' => $bucket_name,
  20. 'ACL' => 'public-read',
  21. ]);
  22. } catch (S3Exception $e) {
  23. echo $e->getMessage();
  24. }
  25.  
  26. List Buckets
  27.  
  28. <?php
  29.  
  30. $s3 = new S3Client([
  31. 'version' => 'latest'
  32. 'region' => 'us-east-1',
  33. ]);
  34.  
  35. $buckets = $s3->listBuckets();
  36.  
  37. foreach ($buckets['Buckets'] as $bucket) {
  38. echo $bucket['Name']. "\n";
  39. }
  40.  
  41. Upload Files
  42.  
  43. <?php
  44.  
  45. if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  46. $s3 = new S3Client([
  47. 'version' => 'latest',
  48. 'region' => 'us-east-1',
  49. ]);
  50.  
  51. $bucket_name = 'bucket_name';
  52.  
  53. for ($i = 0; $i < $count; $i++) {
  54. $file_name = $_FILES['files']['name'][$i];
  55. $file_tmp = $_FILES['files']['tmp_name'][$i];
  56.  
  57. $objects = [
  58. 'Bucket' => $bucket_name,
  59. 'Key' => $file_name,
  60. 'SourceFile' => $file_tmp,
  61. 'ACL' => 'public-read',
  62. ];
  63.  
  64. $commands[] = $s3->putObject($objects);
  65. }
  66.  
  67. try {
  68. $commands;
  69. } catch (S3Exception $e) {
  70. echo "There was an error uploading the file.";
  71. echo $e->getMessage();
  72. }
  73. }
  74.  
  75. SES
  76.  
  77. require 'aws-autoloader.php';
  78. use Aws\Ses\SesClient;
  79. use Aws\Ses\Exception\SesException;
  80.  
  81. Sending an email
  82.  
  83. <?php
  84.  
  85. if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  86. $sender = 'you@example.com';
  87. $recipient = 'them@example.com';
  88. $message = '<h1>Message body</h1>';
  89. $subject = 'Subject';
  90.  
  91. $ses = SesClient::factory(array(
  92. 'version'=> 'latest',
  93. 'region' => 'us-east-1',
  94. ));
  95.  
  96. try {
  97. $result = $ses->sendEmail([
  98. 'Destination' => [
  99. 'ToAddresses' => [
  100. $recipient,
  101. ],
  102. ],
  103. 'Message' => [
  104. 'Body' => [
  105. 'Html' => [
  106. 'Charset' => 'UTF-8',
  107. 'Data' => $message,
  108. ],
  109. 'Text' => [
  110. 'Charset' => 'UTF-8',
  111. 'Data' => 'Text email',
  112. ],
  113. ],
  114. 'Subject' => [
  115. 'Charset' => 'UTF-8',
  116. 'Data' => $subject,
  117. ],
  118. ],
  119. 'Source' => $sender,
  120. ]);
  121. $messageId = $result->get('MessageId');
  122. echo("Email sent! Message ID: $messageId");
  123.  
  124. } catch (SesException $error) {
  125. echo("The email was not sent. Error message: " . $error->getAwsErrorMessage());
  126. }
  127. }
  128.  
  129. Using PHP Mailer
  130.  
  131. <?php
  132.  
  133. use PHPMailer\PHPMailer\PHPMailer;
  134. use PHPMailer\PHPMailer\Exception;
  135.  
  136. require_once 'PHPMailer/src/PHPMailer.php';
  137. require_once 'PHPMailer/src/SMTP.php';
  138. require_once 'PHPMailer/src/Exception.php';
  139.  
  140. $mail = new PHPMailer(true);
  141. $mail->IsSMTP();
  142. //$mail->SMTPDebug = 1;
  143. $mail->SMTPAuth = true;
  144. $mail->SMTPSecure = 'ssl';
  145. $mail->Host = "email-smtp.us-east-1.amazonaws.com";
  146. $mail->Port = 465; // or 587
  147. $mail->IsHTML(true);
  148. $mail->Username = AWS_KEY;
  149. $mail->Password = AWS_SECRET_KEY;
  150. $mail->SetFrom("you@example.com");
  151. $mail->Subject = "Subject";
  152. $mail->Body = "<h1>Message body.</h1>";
  153. $mail->AddAddress("them@example.com");
  154.  
  155. if (!$mail->Send()) {
  156. echo "Mailer Error: " . $mail->ErrorInfo;
  157. } else {
  158. echo "Message has been sent.";
  159. }
Add Comment
Please, Sign In to add comment