相关疑难解决方法(0)

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

我无法理解为什么这段代码不起作用.我收到一条错误消息,指出无法分配属性

MailMessage mail = new MailMessage();
SmtpClient client = new SmtpClient();            
client.Port = 25;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Host = "smtp.gmail.com";
mail.To = "user@hotmail.com"; // <-- this one
mail.From = "you@yourcompany.com";
mail.Subject = "this is a test email.";
mail.Body = "this is my test email body";
client.Send(mail);
Run Code Online (Sandbox Code Playgroud)

c# email smtpclient

273
推荐指数
7
解决办法
72万
查看次数

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万
查看次数

使用C#通过Gmail SMTP服务器发送电子邮件

出于某种原因," 通过Gmail发送.NET中的电子邮件 "既没有被接受的答案也没有其他任何一个对我有用.他们为什么不工作?

更新:我在另一个问题中尝试了所有答案(接受和否则),但没有一个能够奏效.

我想知道它是否适用于其他任何人,否则谷歌可能已经改变了一些事情(之前发生过).

当我尝试使用的代码片段时SmtpDeliveryMethod.Network,我会在Send(消息)上快速收到SmtpException.信息是

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

服务器响应是:

5.5.1需要验证.了解更多"< - 认真,它在那里结束.

更新:

这是我很久以前问过的一个问题,接受的答案是我在不同的项目中使用了很多次的代码.

我已经在这篇文章和其他EmailSender项目中采用了一些想法,在Codeplex上创建了一个EmailSender项目.它专为可测试性而设计,支持我最喜欢的SMTP服务,如GoDaddy和Gmail.

.net c# email gmail smtp

238
推荐指数
20
解决办法
43万
查看次数

当Gmail启用双因素身份验证时,发送电子邮件失败

我正在使用我的Gmail帐户并smtp.gmail.com在我的网络应用程序中测试和发送电子邮件.当我的Gmail帐户启用双因素身份验证时,它无法发送电子邮件,但是当我关闭我的Gmail帐户的双因素身份验证时,该网络应用程序会成功发送电子邮件.感谢任何建议.

gmail smtp smtpclient two-factor-authentication

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

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万
查看次数

如何根据新的安全政策在.Net中发送电子邮件?

为了更好地保护您的用户,GMail和其他邮件提供商建议将我们的所有应用程序升级到OAuth 2.0.

我是对的,这意味着System.Net.Mail不再工作,我们需要使用另一个库MailKit吗?

一般来说,我试图了解如何发送电子邮件而不允许"访问不太安全的应用程序"?

因为我有System.Net.Mail.SmtpException: The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required.smtpClient.Send(message);执行.

如果解决这个问题的唯一方法是使用MailKit,我认为这个问题将是一个很好的实用的逐步切换教程从System.Net.Mail使用MailKitGoogle.Apis.Auth.OAuth2.我不知道可能会使用一般解决方案DotNetOpenAuth吗?

我的应用程序中有以下类,对应于向任何地址(gmail,yandex和其他人)发送电子邮件:

public class EmailSender
{
    public void SendEmail(SmtpServerSettings serverSettings, SendEmailRequest emailRequest)
    {
        // Usually I have 587 port, SmtpServerName = smtp.gmail.com 
        _logger.Trace("Sending message with subject '{0}' using SMTP server {1}:{2}",
                      emailRequest.Subject,
                      serverSettings.SmtpServerName,
                      serverSettings.SmtpPort);

        try
        {
            using …
Run Code Online (Sandbox Code Playgroud)

.net c#

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

使用C#向电子邮件添加附件

我正在使用此答案中的以下代码通过Gmail在.NET中发送电子邮件.我遇到的麻烦是在电子邮件中添加附件.如何使用下面的代码添加附件?

using System.Net.Mail;

var fromAddress = new MailAddress("from@gmail.com", "From Name");
var toAddress = new MailAddress("to@example.com", "To Name");
const string fromPassword = "fromPassword";
const string subject = "Subject";
const string body = "Body";

var smtp = new SmtpClient
{
    Host = "smtp.gmail.com",
    Port = 587,
    EnableSsl = true,
    DeliveryMethod = 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)

提前致谢.

.net c# email gmail

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

通过命令行连接到smtp.gmail.com

我正在编写一个通过有效的GMail用户ID和密码发送邮件的应用程序.

我只是想在我的Windows XP命令行上模拟SMTP连接,当我smtp.gmail.com在465端口telnet 时 - 我没有看到任何东西.带有标题的空白命令窗口Telnet smtp.gmail.com随光标打开.当我输入EHLO或通常的SMTP握手命令时,提示只是关闭.

我无法弄清楚什么是错的,在哪里.我尝试连接到587,它根本没有连接到telnet.任何人都可以澄清我是否做错了什么?

gmail smtp telnet

43
推荐指数
4
解决办法
13万
查看次数

如何从Asp.net Mvc-3发送电子邮件?

如何使用c#通过mvc-3 asp.net发送邮件?

我必须发一个忘记的密码,我该怎么办?我的代码如下.

型号代码..

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;

namespace TelerikLogin.Models.ViewModels
{
    public class ForgotPassword
    {
        public int user_id { get; set; }
        public string user_login_name { get; set; }
        public string user_password { get; set; }

        [Required]
        [Display(Name="Email Address : ")]
        public string user_email_address { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

控制器代码..

  public ActionResult ForgotPassword()
        {
            return View();
        }

        [HttpPost]
        public ActionResult ForgotPassword(string user_email_address)
        {
            SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\MVC3\TelerikLogin\TelerikLogin\App_Data\Login.mdf;Integrated Security=True;User Instance=True");

            DataTable dt1 …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc-3

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

使用Gmail的SmtpClient

我正在为学校项目开发一个邮件客户端.我已经设法使用SmtpClientC#发送电子邮件.这适用于任何服务器,但它不适用于Gmail.我相信这是因为谷歌使用TLS.我曾尝试设置EnableSsltrueSmtpClient,但这并不有所作为.

这是我用来创建SmtpClient和发送电子邮件的代码.

this.client = new SmtpClient("smtp.gmail.com", 587);
this.client.EnableSsl = true;
this.client.UseDefaultCredentials = false;
this.client.Credentials = new NetworkCredential("username", "password");

try
{
    // Create instance of message
    MailMessage message = new MailMessage();

    // Add receiver
    message.To.Add("myemail@mydomain.com");

    // Set sender
    // In this case the same as the username
    message.From = new MailAddress("username@gmail.com");

    // Set subject
    message.Subject = "Test";

    // Set body of message
    message.Body = "En test besked";

    // Send the message …
Run Code Online (Sandbox Code Playgroud)

c# mono gmail smtpclient monodevelop

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