我正在尝试首次设置Amazon SES,我在任何时候都无法发送电子邮件,我已经花了几天时间,而且我非常绝望,通常,我只是输入来自我的Web酒店的SMTP凭证,但是现在我正在运行Digital Ocean Droplet,并且必须使用Amazon SES,我希望有人可以提供帮助。
系统
Ubuntu LAMP堆栈
亚马逊:
发件人
mail.mywebsite.com
沙盒
没有帐户已升级且不在沙箱中。
域验证
电子邮件验证
批准的验证是我自己的私人电子邮件,请不要关注。 失败是我试图从已经验证的域中注册的电子邮件。
SMTP
访问密钥
我尝试使用phpmailer和Amazon SES SDK,并且ive尝试将SMTP凭证和我的AWS访问密钥用作用户名/密码,但是没有用。
require_once('mail/PHPMailerAutoload.php');
$mail = new PHPMailer;
$email = "example@myemai.com";
$name = "John";
try {
$mail->IsSMTP(true);
$mail->SMTPAuth = true;
$mail->SMTPSecure = "tls";
$mail->Host= "mail.mywebsite.com"; // Have also tried email-smtp.eu-west-1.amazonaws.com
$mail->Port = "587";
$mail->Username = 'A332KIA214JSI743NW3NUI7MA'; //ACCESS KEY (NOT REAL)
$mail->Password = 'nTSNZcBvF34FDGDFP1Y0knGj80wzbhjQDcQomnjfP7O6'; // SECRET KEY (NOT REAL)
$mail->setFrom('noreply@mywebsite.com', 'noreply@mywebsite.com');
$mail->addAddress($email, $name);
$mail->isHTML(true);
$mail->Subject = 'My subject - Headline';
$mail->Body = '<center><p>Hello World</p></center>';
if ($mail->send()) {
$getMessages[] = ["success" => "Confirmation sent to " . $reg_email];
} else {
$getMessages[] = ["error" => "ERROR -> $mail->ErrorInfo;"];
}
} catch (phpmailerException $e) {
echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
echo $e->getMessage(); //Boring error messages from anything else!
}
我一直从PHPMAILER ERROR -> SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting;
收到此错误
我曾尝试使用其文档here中的Amazon PHP SDK示例,但是当我尝试使用自动加载器时,它给了我错误。
PHP
require_once('aws/aws-autoloader.php');
错误
Warning: require(/var/www/html/aws/Aws/functions.php): failed to open stream: No such file or directory in /var/www/html/aws/aws-autoloader.php on line 1167
Fatal error: require(): Failed opening required '/var/www/html/aws/Aws/functions.php' (include_path='.:/usr/share/php') in /var/www/html/aws/aws-autoloader.php on line 1167
如果我添加了使用部分,则会出现此错误
PHP
require_once('aws/aws-autoloader.php');
use Aws\Ses\SesClient;
use Aws\Exception\AwsException;
错误:
Parse error: syntax error, unexpected 'use' (T_USE) in /var/www/html/pages/register.php on line 130
文件夹结构
我没有安装作曲家。
我想要的是当用户通过SES SMTP注册时能够使用PHP发送电子邮件。
我必须以某种方式注册电子邮件,还是可以在域验证后通过任何电子邮件发送? 等等:noreply @ mywebsite.com,admin @ mywebsite.com和help@mywebsite.com?