我通过nodemailer发送电子邮件如果我从本地服务器运行它进入gbox的收件箱但是如果我从microsoft azure服务器运行脚本则进入gmail的垃圾邮件。 以下是我的剧本
var nodemailer = require('nodemailer');
var EmailTemplates = require('swig-email-templates');
var smtpConfig = {
service: 'smtp.office365.com',
host: 'smtp.office365.com',
port: 587,
starttls: {
enable: true
},
secureConnection: true,
auth: {
user: 'xxxxx@yyyy.com',
pass: 'zzzzzz'
}
}
var templates = new EmailTemplates();
var transporter = nodemailer.createTransport(smtpConfig);
var context = {
username:'Rajesh',
email:'xxxxx@gmail.com',
link : 'www.google.co.in'
};
templates.render('activate_email.html', context, function(err, html,text, subject) {
transporter.sendMail({
from: '"Product Name" <no-reply@xxxxx.com>', // sender address
to: 'xxxx@gmail.com',
subject: 'Account activation',
html: html,
text:text
});
});
答案 0 :(得分:8)
事实是,对于你的问题,没有简单的一行解决方案:)有很多原因导致这种情况发生,以下是其中一些:
您的主机被标记为垃圾邮件 - 如果您未验证电子邮件或从同一主机发送过多电子邮件,则会发生这种情况。共享主机通常标记为这样,因此邮件服务器会定期将其标记为垃圾邮件
您的"AspectAPIEnv": {
"Type": "AWS::ElasticBeanstalk::Environment",
"Properties": {
"ApplicationName": "application-name",
"EnvironmentName": "environment-name",
"SolutionStackName": "64bit Amazon Linux 2016.09 v3.1.0 running Node.js",
"Tier": {
"Name": "WebServer",
"Type": "Standard"
},
"OptionSettings": [
{
"Namespace": "aws:autoscaling:launchconfiguration",
"OptionName": "EC2KeyName",
"Value": "ec2-key"
},
{
"Namespace": "aws:autoscaling:launchconfiguration",
"OptionName": "IamInstanceProfile",
"Value": "aws-elasticbeanstalk-ec2-role"
},
{
"Namespace": "aws:autoscaling:launchconfiguration",
"OptionName": "ImageId",
"Value": "ami-d8356acf"
},
{
"Namespace": "aws:autoscaling:launchconfiguration",
"OptionName": "InstanceType",
"Value": "t2.micro"
},
{
"Namespace": "aws:autoscaling:launchconfiguration",
"OptionName": "SecurityGroups",
"Value": { "Ref": "APIInstanceSG" }
},
{
"Namespace": "aws:autoscaling:trigger",
"OptionName": "UpperThreshold",
"Value": "6000000"
},
{
"Namespace": "aws:autoscaling:updatepolicy:rollingupdate",
"OptionName": "MaxBatchSize",
"Value": "1"
},
{
"Namespace": "aws:autoscaling:updatepolicy:rollingupdate",
"OptionName": "MinInstancesInService",
"Value": "1"
},
{
"Namespace": "aws:autoscaling:updatepolicy:rollingupdate",
"OptionName": "RollingUpdateEnabled",
"Value": "true"
},
{
"Namespace": "aws:autoscaling:updatepolicy:rollingupdate",
"OptionName": "RollingUpdateType",
"Value": "Health"
},
{
"Namespace": "aws:elasticbeanstalk:command",
"OptionName": "BatchSize",
"Value": "30"
},
{
"Namespace": "aws:elasticbeanstalk:container:nodejs",
"OptionName": "NodeVersion",
"Value": "6.2.2"
},
{
"Namespace": "aws:elasticbeanstalk:environment",
"OptionName": "ServiceRole",
"Value": "aws-elasticbeanstalk-service-role"
},
{
"Namespace": "aws:elasticbeanstalk:healthreporting:system",
"OptionName": "SystemType",
"Value": "enhanced"
},
{
"Namespace": "aws:elasticbeanstalk:managedactions",
"OptionName": "ManagedActionsEnabled",
"Value": "true"
},
{
"Namespace": "aws:elasticbeanstalk:managedactions",
"OptionName": "PreferredStartTime",
"Value": "SUN:09:02"
},
{
"Namespace": "aws:elasticbeanstalk:managedactions:platformupdate",
"OptionName": "UpdateLevel",
"Value": "minor"
},
{
"Namespace": "aws:elb:healthcheck",
"OptionName": "Interval",
"Value": "10"
},
{
"Namespace": "aws:elb:loadbalancer",
"OptionName": "CrossZone",
"Value": "true"
},
{
"Namespace": "aws:elb:loadbalancer",
"OptionName": "LoadBalancerHTTPPort",
"Value": "80"
},
{
"Namespace": "aws:elb:loadbalancer",
"OptionName": "SecurityGroups",
"Value": { "Ref": "APILoadBalancerSG" }
},
{
"Namespace": "aws:elb:loadbalancer",
"OptionName": "ManagedSecurityGroup",
"Value": { "Ref": "APILoadBalancerSG" }
},
{
"Namespace": "aws:elb:policies",
"OptionName": "ConnectionDrainingEnabled",
"Value": "true"
}
],
"Tags": [
{
"Key": "Name",
"Value": "AspectAPIEnv"
}
]
},
"DependsOn": "RDSInstance"
}
字段与您允许使用的字段不同 - 因为我看到您正在使用smtp,因此您可以发送严格的邮件规则。当然,您始终可以发送来自from
的电子邮件,但由于您的SMTP主机不是 facebook.com,您的电子邮件肯定会被标记为垃圾邮件
您可以在许多不同的邮件中签署您的电子邮件,确保服务器发送此电子邮件并且具有适当的签名。在线查看方法。
在开发过程中,您发送了大量相似的电子邮件 - 发送相同的&#34;测试&#34;电子邮件是您的电子邮件被列入黑名单的常见原因
不幸的是,正如我所说,没有一个真正的原因,可能会有很多原因。我希望这至少有一点帮助:))
答案 1 :(得分:4)
请摆脱并尝试再次发送。我曾经读过一篇文章,因为很多垃圾邮件发送者正在使用它们,因此电子邮件客户不喜欢这些图标。
尝试将其发送到多个Gmail帐户。除此之外,代码没有任何问题。如果您在共享主机或本地主机上,它也可以进入垃圾文件夹。在这种情况下,您将不得不考虑从不同的IP发送电子邮件,首选的国家/地区与发送电子邮件的国家/地区相同。
但首先尝试删除该图标!
PS。我会把这个答案作为评论,但我不能因为低代表。
答案 2 :(得分:3)
在我的情况下,我需要指定表格,从=必须到用户邮件
if sign =="+" :
my_object_cal.soma(number1, number2)
elif sign == "-" :
my_object_cal.subtrai(number1, number2)
elif ...
else ...
答案 3 :(得分:1)
HTML 会变成垃圾,纯文本不会
答案 4 :(得分:1)
聚会迟到了..
尝试在您的 emailConfig 中同时添加 HTML 和文本版本,如下所示。这样电子邮件就会出现在收件箱中。它对我有用。
999999