我正在使用亚马逊ses发送批量电子邮件.我的代码如下
public void sendMail(String sender, LinkedList<String> recipients, String subject, String body) {
Destination destination = new Destination(recipients);
try {
ACCESS_KEY = EmailSender.prop.getProperty("accessKey");
SECRET_KEY = EmailSender.prop.getProperty("secretKey");
Content subjectContent = new Content(subject);
Content bodyContent = new Content(body);
Body msgBody = new Body(bodyContent);
Message msg = new Message(subjectContent, msgBody);
SendEmailRequest request = new SendEmailRequest(sender, destination, msg);
AWSCredentials credentials = new BasicAWSCredentials(ACCESS_KEY, SECRET_KEY);
AmazonSimpleEmailServiceClient sesClient = new AmazonSimpleEmailServiceClient(credentials);
SendEmailResult result = sesClient.sendEmail(request);
System.out.println(result + "Email sent");
}catch(Exception e) {
System.out.println("Exception from EmailSender.java. Email not …
Run Code Online (Sandbox Code Playgroud) 我正在使用Amazon SES.我正在尝试使用PHPMailer从我的PHP脚本发送电子邮件.
我已经验证了两个电子邮件ID,并尝试向此邮件ID发送邮件.但它会引发以下错误.
SERVER -> CLIENT: 220 email-smtp.amazonaws.com ESMTP SimpleEmailService-693939519 QEPGeLndQQq5vJ53VMXU
CLIENT -> SERVER: EHLO localhost
SERVER -> CLIENT: 250-email-smtp.amazonaws.com250-8BITMIME250-SIZE 10485760250- STARTTLS250-AUTH PLAIN LOGIN250 Ok
CLIENT -> SERVER: STARTTLS
SERVER -> CLIENT: 220 Ready to start TLS
CLIENT -> SERVER: EHLO localhost
SERVER -> CLIENT: 250-email-smtp.amazonaws.com250-8BITMIME250-SIZE 10485760250-STARTTLS250-AUTH PLAIN LOGIN250 Ok
CLIENT -> SERVER: AUTH LOGIN
SMTP NOTICE: EOF caught while checking if connected
SMTP connect() failed.
Mailer Error: SMTP connect() failed. …
Run Code Online (Sandbox Code Playgroud) 今天早上,我在用户池设置中发现了一条以前从未注意到的警报:
我看着设置屏幕,有一个单选按钮:
我已经有一个发件人地址。如何使用CloudFormation将该设置设置为“是”?
该Cognito CloudFormation文档看起来是这样的:
Type: AWS::Cognito::UserPool
Properties:
AdminCreateUserConfig:
AdminCreateUserConfig
AliasAttributes:
- String
AutoVerifiedAttributes:
- String
DeviceConfiguration:
DeviceConfiguration
EmailConfiguration:
EmailConfiguration
EmailVerificationMessage: String
EmailVerificationSubject: String
LambdaConfig:
LambdaConfig
MfaConfiguration: String
Policies:
Policies
Schema:
- SchemaAttribute
SmsAuthenticationMessage: String
SmsConfiguration:
SmsConfiguration
SmsVerificationMessage: String
UsernameAttributes:
- String
UserPoolName: String
UserPoolTags:
String: String
Run Code Online (Sandbox Code Playgroud)
EmailConfiguration是我在其中设置发件人地址的地方,我想也许他们在此添加了该地址,但是EmailConfiguration文档似乎也没有任何内容。
知道如何配置Cognito用户池以将SES用于电子邮件吗?
amazon-web-services amazon-ses aws-cloudformation amazon-cognito aws-userpools
Amazon Simple Email Service是否有任何Node.js模块?
亚马逊简单电子邮件服务(Amazon SES)是一种高度可扩展且经济高效的批量和交易电子邮件发送服务,适用于企业和开发人员.
提前致谢!
我使用Indy的TIdHTTP 向亚马逊的SES服务发布了问题.
这是我正在使用的代码示例:
procedure TMainFrm.btnAmazonSESClick(Sender: TObject);
var
SSLHandler: TIdSSLIOHandlerSocket;
HttpClient: TIdHTTP;
Params: TStringStream;
begin
SSLHandler := TIdSSLIOHandlerSocket.Create(Self);
HttpClient := TIdHTTP.Create(Self);
Params := TStringStream.create('');
try
with SSLHandler do
SSLOptions.Method := sslvSSLv3
with HttpClient do
begin
IOHandler := SSLHandler;
AllowCookies := True;
HandleRedirects := True;
HTTPOptions := [hoForceEncodeParams];
Request.ContentType := 'application/x-www-form-urlencoded';
end;
PageMemo.Text := HttpClient.Post('https://email.us-east-1.amazonaws.com?Action=VerifyEmailAddress&AWSAccessKeyId=012Some123Key46&EmailAddress=test@test%2Ecom', Params);
finally
SSLHandler.Free;
HttpClient.Free;
Params.Free;
end;
end;
Run Code Online (Sandbox Code Playgroud)
结果
在Indy 10.5.7下我收到错误:HTTP/1.1 404 Not Found
在Indy 9.0.14下我得到错误:套接字错误#11004
调试试验
同样的演示可以从HTTPS网页成功获取HTML.
如果我将上面的URL粘贴到浏览器中,它会显示预期的XML结果.
我很感激有关这个事业的任何建议.
我正在使用来自http://sourceforge.net/projects/php-aws-ses/的包装器
我无法发送电子邮件标题
From: Name <email@example.com>
Run Code Online (Sandbox Code Playgroud)
有没有什么办法可以使用亚马逊ses发送标题.你推荐的任何其他PHP Wrapper允许我们这样做吗?
我一直在尝试使用Sendmail和CentOS 6.5上的SES为我的应用程序设置电子邮件通知.根据AWS 文档,我已经使用SES配置了sendmail,
maillog说,
sendmail[29711]: s2QFCjnu027924: to=<abc@edf.com>, delay=00:52:09, xdelay=00:08:00, mailer=relay, pri=210717, relay=email-smtp.us-east-1.amazonaws.com [107.20.142.169], dsn=4.0.0, stat=Deferred: Connection timed out with email-smtp.us-east-1.amazonaws.com
所有邮件都在加入 mailq
# sendmail -v -q
Running /var/spool/mqueue/s2QFueiS001965 (sequence 1 of 21)
<abc@edf.com> Connecting to email-smtp.us-east-1.amazonaws.com port 25 via relay.
^C
Run Code Online (Sandbox Code Playgroud)
另外,我无法telnet到smtp地址,
# telnet email-smtp.us-east-1.amazonaws.com 25
Trying 23.21.252.142...
^C
Run Code Online (Sandbox Code Playgroud)
但是nmap显示端口smtp(25)是开放和监听的,
# nmap -p 25 localhost
Starting Nmap 5.51 ( http://nmap.org ) at 2014-03-26 17:09 CET
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000080s latency).
PORT STATE SERVICE …
Run Code Online (Sandbox Code Playgroud) 我是AWS的新手,我正在尝试通过Lambda Functions处理我的电子邮件.我在node.js中构建了这个:
'use strict';
exports.handler = (event, context, callback) => {
var http = require('http');
var data = JSON.stringify(event);
var options = {
host: 'my.host',
port: '80',
path: '/my/path',
method: 'POST',
headers: {
'Content-Type': 'application/json; charset=utf-8',
'Content-Length': data.length
}
};
var req = http.request(options, function(res) {
var msg = '';
res.setEncoding('utf8');
res.on('data', function(chunk) {
msg += chunk;
});
res.on('end', function() {
console.log(JSON.parse(msg));
});
});
req.write(data);
req.end();
};
Run Code Online (Sandbox Code Playgroud)
我已经使用端点进行了测试并且它运行良好,问题是我刚才意识到消息的主体永远不会被发送.如何访问邮件正文以发送邮件并由我的api处理?
如果您需要查看发送的样品,请告诉我.
我正在尝试使用 SDK 通过 AWS SES API 发送电子邮件。
我的代码基于这里的官方文档:https : //docs.aws.amazon.com/ses/latest/DeveloperGuide/examples-send-using-sdk.html
我尽可能await client.SendEmailAsync(sendRequest);
并收到错误消息:
无法从 EC2 实例元数据服务检索凭证。
// initialization
var client = new AmazonSimpleEmailServiceClient(RegionEndpoint.USWest2);
var response = new SendEmailResponse();
// build email
var sendRequest = new SendEmailRequest
{
Source = ToAddress,
Destination = new Destination
{
ToAddresses =
new List<string> { ReceiverAddress }
},
Message = new Message
{
Subject = new Content(model.Subject),
Body = new Body
{
Html = new Content
{
Charset = "UTF-8",
Data = model.HtmlBody …
Run Code Online (Sandbox Code Playgroud) 我目前正在使用Firebase身份验证,并使用Amazon SES作为SMTP服务器来发送Firebase电子邮件,例如电子邮件验证,忘记密码等.
我目前还在Amazon SES中配置了一个配置集,它将发送,点击,退回,投诉等事件数据发送到Amazon Kinesis Firehose,然后将数据写入S3存储桶.
问题是,除非在特定电子邮件的标题中指定了配置集,否则电子邮件将不遵循SES中配置集的规则.但是,由于Firebase设置中的自定义有限,因此无法实现此功能.
有没有办法指定所有电子邮件应该使用的默认配置集(这样我就不需要在电子邮件标题中指定任何内容)?或者还有另一种方法可以解决这个问题吗?