我正在尝试发送电子邮件gmail smtp,但我收到错误:
我的电子邮件和密码是正确的我正在使用nodemailer发送邮件;
var nodemailer = require('nodemailer');
// create reusable transporter object using SMTP transport
var transporter = nodemailer.createTransport({
service: 'Gmail',
auth: {
admin: 'myuseremail.com',
pass: 'password'
}
});
var mailOptions = {
from: 'sender address', // sender address
to: to, // list of receivers
subject: 'Password Reset', // Subject line
html: 'Your one time password is : <b>' + temporaryPassword + ' </b>' // html body
};
transporter.sendMail(mailOptions, function (error, info) {
console.log(error,info);
}
Run Code Online (Sandbox Code Playgroud)
在日志中我收到错误:
{
[Error: Invalid login] …Run Code Online (Sandbox Code Playgroud) 我想找到一种方法,nodemailer通过某种谷歌身份验证或任何其他方式从我的应用程序向用户发送电子邮件。在 Google 禁用不太安全的应用程序选项后,下面提到的工作代码已停止工作。
const nodemailer = require('nodemailer')
const sendEmail = async options => {
const transporter = nodemailer.createTransport({
// host: "smtp.gmail.com",
// port: "465",
// secure: true,
service:'gmail',
auth: {
user: "USER_EMAIL",
pass: "USER_PASSWORD"
},
tls:{rejectUnauthorized:false}
})
const message = {
from: `${process.env.FROM_NAME} <${process.env.FROM_EMAIL}>`,
to: options.email,
subject: options.subject,
text: options.message,
html: options.message,
attachments: [
{
filename: '.png',
path: __dirname + '.png',
cid: '.png'
}
]
}
const info = await transporter.sendMail(message)
console.log('Message sent : %s', info.messageId)
console.log(__dirname)
} …Run Code Online (Sandbox Code Playgroud) 我想为我的一个项目添加类似gmail的文件上传功能.任何人都可以帮我吗?
我的应用程序是在vb.net中构建的.
我将不胜感激任何帮助或指导.
谢谢
鉴于以下部分Web.Config:
<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="SomeWebsite Admin <someuser@gmail.com>">
<network host="smtp.gmail.com" port="587" defaultCredentials="true" userName="someuser@gmail.com" password="somepassword" />
</smtp>
</mailSettings>
</system.net>
Run Code Online (Sandbox Code Playgroud)
以下代码片段:
smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential( "someuser@gmail.com", "somepassword" );
smtp.Send( mailMessage );
Run Code Online (Sandbox Code Playgroud)
以上工作正常,但注释程序覆盖,如下所示:
smtp = new SmtpClient();
//smtp.Host = "smtp.gmail.com";
//smtp.Port = 587;
smtp.EnableSsl = true;
//smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
//smtp.UseDefaultCredentials = false;
//smtp.Credentials = new NetworkCredential( "someuser@gmail.com", "somepassword" );
smtp.Send( mailMessage ); …Run Code Online (Sandbox Code Playgroud) 我在Android应用程序中单击按钮时尝试打开Gmail Compose屏幕.我需要一些来自Google的API密钥吗?或者我的按钮onClickListener需要做什么?
非常感谢任何形式的见解.
我正在尝试通过XAMPP配置Sendmail来发送电子邮件.在我的sendmail.ini中,我有以下设置:
# Set default values for all following accounts.
logfile "C:\xampp\sendmail\sendmail.log
account Gmail
tls on
port 587
tls_certcheck off
host smtp.gmail.com
from myemail@gmail.com
auth on
user myemail06@gmail.com
password mypassword
account default : Gmail
Run Code Online (Sandbox Code Playgroud)
我已经创建了一个这样的测试脚本:
$to = "testemail@btinternet.com";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
$headers = "From: myemail06@gmail.com" . "\r\n";
if (mail($to, $subject, $body, $headers)) {
echo ("Message successfully sent!");
} else {
echo ("Message delivery failed...");
}
Run Code Online (Sandbox Code Playgroud)
我收到一条消息,说电子邮件已发送但它永远不会到达,而且我收到的日志中:
sendmail:交付期间出错:必须先发出STARTTLS命令.
有人知道这里的问题是什么吗?
提前致谢!
GAZ
我有一个谷歌帐户(比如说hellome@gmail.com),设置为发送许多其他帐户的邮件(hellome@mydomain.com,secondaccount @ gmail.com ......).
至少其中一个帐户(hellome@mydomain.com)谷歌不会让我设置一个单独的谷歌帐户.它说有一个现有的帐户,它被禁用.也许这是因为它已经连接到一个Gmail帐户.
我想将Google日历活动设置为'hellome@mydomain.com',即将'hellome@mydomain.com'显示在'created by'字段中,而不是'hellome@gmail.com'.
这很重要,因为在创建工作事件时,我不希望显示个人电子邮件.有没有办法切换电子邮件帐户,隐藏或更改Google日历中的"创建者"字段?非常感谢任何帮助或建议.
我们需要开发一个内部gmail扩展来处理收到的电子邮件,允许收件人与我们的内部软件进行交互.我一直试图弄清楚如何在Gmail上下文小工具中使用OAuth 2.0,但我找不到任何具体的文档.当我使用contextual + google-oauth(Google推荐的关键字)搜索堆栈溢出时,我找不到任何有用的东西.
在您给我标准页面之前,请确保它有:
例如,Contextual Gadgets页面中的标准hello示例使用OpenID("openIdRealm"),并在OAuth 2.0之前编写:
OAuth 2.0中不允许使用OpenID:
https://developers.google.com/apps-marketplace/practices#3_use_oauth20
您的应用程序不得使用OpenID或OAuth1.0.任何此类使用的证据都将导致您的申请未通过审核流程.
请注意,Contextual Gadgets是客户端Javascript应用程序,与Web服务器应用程序和已安装的应用程序截然不同.所以OAuth 2.0应该像这样使用:
https://developers.google.com/accounts/docs/OAuth2#clientside https://developers.google.com/accounts/docs/OAuth2UserAgent
但是上下文小工具在一个容器中运行,该容器处理第一次OAuth调用(谷歌调用,用令牌回调我们的网站......).生活在客户端,上下文小工具"无法保守秘密".我们的网站(重定向页面,https://example.com/oauth2callback)需要将访问令牌(可能是刷新令牌)保存到客户端可访问的小工具代码的会话中.
理想情况下我不会使用SSO,我认为这只是"部署在市场上的应用程序所需".替代部署是"for your domain",它使用Google Apps Extensions控制台:
https://developers.google.com/google-apps/extensions-console/
但扩展控制台首先表示,"我们正在改善用户体验,请尝试新的开发者控制台",链接到:
开发人员控制台:
无法在上下文小工具中的任何位置报告此客户端ID.是注册还是忘记?
另外(一个错误?),权限显示我的客户端ID在"服务帐户"下,即使我没有创建服务帐户凭据.
接下来:我不知道如何从这个新的开发人员控制台在我的域上部署我的上下文小工具(这不是一个独立的应用程序).在概述和左侧的计算选项卡下似乎只有与云部署相关的选项.
当我尝试从Apps Extensions控制台进行部署时(据说不会弃用,只是改进了),我收到此错误:
Google Apps Marketplace (I never deployed to marketplace, only my own domain)
Application installation not allowed.
The OAuth1.0 version is no longer available.
Instead, try installing the OAuth2.0 version.
[Return to dashboard] (button)
Run Code Online (Sandbox Code Playgroud)
更重要的是,返回仪表板按钮将我带到域管理站点,该站点既不允许开发也不允许部署:
我正在尝试使用来自localhost的Laravel从Gmail发送电子邮件.我收到此错误:无法与主机smtp.gmail.com [#0]建立连接
我正在使用端口465的ssl.我也尝试过587但它没有用.
我也尝试了这个,但它没有用.我发现很多人都遇到了同样的问题,但我找到的解决方案却没有用.
根据新的谷歌政治https://googleonlinesecurity.blogspot.de/2014/04/new-security-measures-will-affect-older.html我无法发送电子邮件.对于不使用OAuth 2.0的应用程序,谷歌会考虑"安全性较低的应用程序".
我想使用MailKit来解决这个问题
var message = new MimeMessage();
message.From.Add(new MailboxAddress("Joey Tribbiani", "noreply@localhost.com"));
message.To.Add(new MailboxAddress("Mrs. Chanandler Bong", "mymail@gmail.com"));
message.Subject = "How you doin'?";
message.Body = new TextPart("plain"){ Text = @"Hey" };
using (var client = new SmtpClient())
{
client.Connect("smtp.gmail.com", 587);
////Note: only needed if the SMTP server requires authentication
client.Authenticate("mymail@gmail.com", "mypassword");
client.Send(message);
client.Disconnect(true);
}
Run Code Online (Sandbox Code Playgroud)
但我有 An exception of type 'MailKit.Security.AuthenticationException' occurred in MailKit.dll but was not handled in user code.Additional information: Authentication failed.
我不想更改我的安全设置.因为我希望一切都安全.这就是我开始使用MailKit而不是System.Net.Mail的原因
我该如何解决?
gmail ×10
smtp ×3
c# ×2
email ×2
nodemailer ×2
oauth-2.0 ×2
android ×1
asp.net ×1
file-upload ×1
google-oauth ×1
icalendar ×1
javascript ×1
laravel-4 ×1
mailkit ×1
node.js ×1
upload ×1
web-config ×1
xampp ×1