相关疑难解决方法(0)

通过Gmail在.NET中发送电子邮件

我没有依赖我的主机发送电子邮件,而是考虑使用我的Gmail帐户发送电子邮件.这些电子邮件是我在节目中播放的乐队的个性化电子邮件.有可能吗?

.net c# email gmail smtp

852
推荐指数
18
解决办法
53万
查看次数

Gmail错误:SMTP服务器需要安全连接,或者客户端未经过身份验证.服务器响应为:5.5.1需要身份验证

我正在使用以下代码发送电子邮件.代码在我的本地计算机中正常运行.但在生产服务器上我收到错误消息

var fromAddress = new MailAddress("mymailid@gmail.com");
var fromPassword = "xxxxxx";
var toAddress = new MailAddress("yourmailid@yourdoamain.com");

string subject = "subject";
string body = "body";

System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient
{
    Host = "smtp.gmail.com",
    Port = 587,
    EnableSsl = true,
    DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network,
    UseDefaultCredentials = false,
    Credentials = new NetworkCredential(fromAddress.Address, fromPassword)       
};

using (var message = new MailMessage(fromAddress, toAddress)
{
    Subject = subject,
    Body = body
})

smtp.Send(message);
Run Code Online (Sandbox Code Playgroud)

在我的Gmail A/c上,我从生产服务器运行代码后收到了以下电子邮件

嗨,

最近有人使用您的密码尝试登录您的Google帐户mymailid@gmail.com.此人正在使用电子邮件,客户端或移动设备等应用程序.

如果这是一名试图访问您帐户的劫机者,我们会阻止登录尝试.请查看登录尝试的详细信息:

星期五,2014年1月3日13:56:08 UTC时间地址:xxx.xx.xx.xxx(abcd.net.)地点:Philadelphia PA,Philadelphia,PA,USA

如果您无法识别此登录尝试,则其他人可能会尝试访问您的帐户.您应该立即登录您的帐户并重置密码.

重设密码

如果是您并且您在访问帐户时遇到问题,请完成http://support.google.com/mail?p=client_login中列出的问题排查步骤

您诚挚的,Google帐户团队

.net c# gmail smtp

241
推荐指数
13
解决办法
55万
查看次数

SMTP服务器需要安全连接或客户端未经过身份验证.服务器响应是:5.5.1身份验证是否必需?

我想从我的应用程序发送一封电子邮件,我写了以下代码来发送邮件

    MailMessage msg = new MailMessage();

    msg.From = new MailAddress("mymailid");
    msg.To.Add("receipientid");
    msg.Subject = "test";
    msg.Body = "Test Content";
    msg.Priority = MailPriority.High;

    SmtpClient client = new SmtpClient();

    client.Credentials = new NetworkCredential("mymailid", "mypassword", "smtp.gmail.com");
    client.Host = "smtp.gmail.com";
    client.Port = 587;
    client.DeliveryMethod = SmtpDeliveryMethod.Network;
    client.EnableSsl = true;
    client.UseDefaultCredentials = true;

    client.Send(msg);
Run Code Online (Sandbox Code Playgroud)

我在localhost上运行它,所以我正在做什么错误发送它.

当我发送按钮时,它给出了一个错误

SMTP服务器需要安全连接或客户端未经过身份验证.服务器响应为:5.5.1需要身份验证.

Web.config文件中的代码

 <appSettings>
    <add key="webpages:Version" value="2.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />   
    <add key="smtpServer" value="smtp.gmail.com" />
    <add key="EnableSsl" value …
Run Code Online (Sandbox Code Playgroud)

c# smtp

76
推荐指数
12
解决办法
25万
查看次数

使用SmtpClient通过C#发送HTML电子邮件

如何发送HTML电子邮件?我使用此答案中的代码发送电子邮件SmtpClient,但它们始终是纯文本,因此下面示例消息中的链接不是这样格式化的.

<p>Welcome to SiteName. To activate your account, visit this URL: <a href="http://SiteName.com/a?key=1234">http://SiteName.com/a?key=1234</a>.</p>
Run Code Online (Sandbox Code Playgroud)

如何在我发送的电子邮件中启用HTML?

c# asp.net email smtpclient

46
推荐指数
4
解决办法
6万
查看次数

所有SMTP通信都发生在25以上吗?

是否所有SMTP通信都在port25上的域之间发送电子邮件?所有通信都是无担保的吗?了解使用类似Gmail通信的安全保护Gmail服务器,但必须使用不安全的端口25,对吗?

SMTP可以在任何端口上,但这不是我所说的.我不是在谈论连接到Gmail,Yahoo或ISP SMTP服务器.这些是SMTP中继,它们接受任何希望为其用户加密/未加密的端口的SMTP请求.

但是一旦SMTP中继服务器收到请求,邮件服务器就会根据域名MX记录将其转发到电子邮件.它只在端口25上使用SMTP吗?邮件服务器只知道域名,然后转发它.它无法知道他们正在收听哪个端口.

例如,我正在为我的域托管Exchange服务器2007.我连接到我的Exchange服务器以发送邮件到xyz@gmail.com.我的交换服务器必须通过行业标准协议进行通信,对吧?这是端口25(因为我的Exchange服务器没有端口25就无法工作).

smtp

12
推荐指数
2
解决办法
3万
查看次数

Gmail使用应用专用密码阻止来自Python的登录尝试

我正在尝试使用Python的smtplib从Google帐户发送电子邮件,但收到错误,现在我有点不知所措.谷歌回应如下:Please log in via your web browser and then try again. Learn more at https://support.google.com/mail/answer/78754.

该帐户启用了两个因素身份验证,因此我使用特定于应用程序的密码登录.根据我的理解,这应该可以在不启用不太安全的应用程序的设置的情况下工作,不应该吗?我一直在尝试使用另一个帐户,同时测试没有问题,但现在我终于获得了正确帐户的凭据,并且它不会接受身份验证.

我知道,有一个与OAuth的使用Python的Gmail的API啄,但如果可能的话,我不想要包含更多的包并重写了,我真的不希望启用"不够安全的应用"设置.有没有办法让这个没有?

如果它有所不同,这是我用于发送电子邮件的代码.如前所述,这与另一个帐户工作正常,所以我不确定它是否真的相关.

def send_mail(to_address, subject, body):
    smtp_user = "myaccount@domain.com"
    smtp_password = "MyAppPasswordFromGoogle"
    server = "smtp.gmail.com"
    port = 587

    msg = MIMEMultipart("alternative")
    msg["Subject"] = subject
    msg["From"] = smtp_user
    msg["To"] = to_address
    msg.attach(MIMEText(body, "html"))
    s = smtplib.SMTP(server, port)
    s.connect(server, port)
    s.ehlo()
    s.starttls()
    s.ehlo()
    s.login(smtp_user, smtp_password)
    s.sendmail(smtp_user, to_address, msg.as_string())
    s.quit()
Run Code Online (Sandbox Code Playgroud)

修改:两个帐户之间存在一个有趣的区别:在https://myaccount.google.com/lesssecureapps上,我的旧(工作)帐户说"此设置不适用于启用了双因素身份验证的帐户",而新的说法"此设置由您的域管理员管理",即使两者都使用2FA,并且它也强制在两个域中.所以我想域管理员必须改变一些设置,但我不知道会是哪一个.

python authentication gmail smtp python-3.x

12
推荐指数
2
解决办法
3553
查看次数

通过所有端口上的C#.Net错误GMail SMTP

我一直在努力寻找这个问题,到目前为止一直在悲惨地失败.我最近的尝试是从这个堆栈代码中解除的: 通过带有C#的Gmail SMTP服务器发送电子邮件,但我已经尝试了我可以在堆栈和其他地方找到的所有语法.我的代码目前是:

var client = new SmtpClient("smtp.gmail.com", 587)
{
    Credentials = new NetworkCredential("me@gmail.com", "mypass"),
    EnableSsl = true
};

client.Send("me@gmail.com","me@gmail.com","Test", "test message");
Run Code Online (Sandbox Code Playgroud)

运行该代码给我一个立即异常"发送邮件失败",其中包含"无法连接到远程服务器"的内容.

如果我将端口更改为465(如gmail文档建议的那样),我每次都会超时.

我已经读过465不是一个好用的端口,所以我想知道这笔交易是什么让我无法连接.我的用户和通行证是对的.我已经读过我必须在我的Gmail帐户上设置POP服务,所以我这样做了.徒劳无功.

我原本试图让我的品牌GMail帐户工作,但遇到同样的问题,我认为我/我的常规Gmail帐户将更容易...到目前为止,情况并非如此.

.net c# gmail

11
推荐指数
3
解决办法
3万
查看次数

脚本使用Gmail发送邮件:无法在SMTP服务器上进行身份验证

我很难让我的PHP脚本发送带有SMTP Gmail帐户的电子邮件.我使用的是PHP和Symfony2 SwiftMailer,但问题似乎在于我的Gmail帐户配置.在我的日志中,我最终得到以下错误消息:

"ERROR - Exception occurred while flushing email queue: Failed to authenticate on SMTP server with username "new.user.name@gmail.com" using 1 possible authenticators"
Run Code Online (Sandbox Code Playgroud)

幸运的是,我有另一个Gmail帐户正在使用另一个应用程序,无数.在我的新盒子上拯救这些参数(用户和密码),eveything工作得很好.

在parameters.yml我有(工作正常):

parameters:
    mailer_transport: gmail
    mailer_host: ~
    mailer_user: old.user.account@gmail.com
    mailer_password: old-password
Run Code Online (Sandbox Code Playgroud)

以下是给出auth错误消息的版本:

parameters:
    mailer_transport: gmail
    mailer_host: ~
    mailer_user: new.user.account@gmail.com
    mailer_password: new-password
Run Code Online (Sandbox Code Playgroud)

不用说我已经检查,重新检查并再次检查用户和密码.

我在新帐户中查看了"转发和POP/IMAP"下的Gmail帐户设置:我找不到任何关于SMTP的信息.

搜索让我意识到某些验证码策略可能会干扰SMTP帐户.我在这里读到,我应该尝试输入一个验证码短语,我在这里输入,并收到一条好消息:"启用帐户访问权限","请尝试从新设备或应用程序再次登录到您的Google帐户."

再试一次.没运气.

所有这些都发生在我当地的开发环境中(包括OK邮件,而不是OK邮件).

如何在新创建的Gmail帐户中使用SMTP?任何的想法 ?

email gmail smtp

10
推荐指数
1
解决办法
1万
查看次数

通过SMTP客户端发送电子邮件时出错

这可能对你来说非常微不足道,但我无法弄清楚为什么我在运行我的代码时收到此错误消息.我查看了同一网站上的一些相关问题,例如 通过带有C#的Gmail SMTP服务器发送电子邮件, 但没有一个是有帮助的.有人愿意帮忙吗?使用不同的组件也是可以接受的 所以如果有人得到一个可以理解的工作解决方案.

错误消息= SMTP服务器需要安全连接或客户端未经过身份验证.服务器响应为:5.5.1需要身份验证.了解更多信息

这是我的代码

System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();      
message.From = new MailAddress("bob@googlemail.com");
message.To.Add("bob@hotmail.com");
message.Subject = "Hello";
message.Body = "Hello Bob ";
message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;

SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587);
smtpClient.EnableSsl = true;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = new NetworkCredential("MyGoogleMailAccount", 
                                               "mygooglemailpassword");

smtpClient.Send(message.From.ToString(), message.To.ToString(), 
                message.Subject, message.Body);   
Run Code Online (Sandbox Code Playgroud)

.net c# smtp smtpclient web

7
推荐指数
1
解决办法
2万
查看次数

如何收集用户对软件的意见

我写了一个小的.net Windows窗体应用程序.现在我决定收到用户的意见或评论.用户只需在输入表单中编写内容并单击"发送"按钮即可.

我想用最简单的方法.我不想托管任何Web服务或其他应用程序来收集信息.我也没有数据库.没有.我只想知道人们对该应用程序的看法.

你会怎么做?

c# email social-networking winforms

5
推荐指数
1
解决办法
125
查看次数