标签: smtpclient

System.Net.Mail.SmtpClient.Send是同步的吗?

考虑到SmtpClient有一个我没有使用的SendAsync方法,因此假设StmpClient.Send是同步的是否安全?我正在使用它来发送带有临时文件附件的电子邮件,并想知道我是否可以立即删除临时附件.

谢谢,罗布.

smtpclient

3
推荐指数
1
解决办法
1978
查看次数

我怎么知道smtp服务器是否发送了我的电子邮件?

假设我使用smtpclient将我的电子邮件提交到我的本地smtp服务器.我如何知道电子邮件是否被正式发送?

c# smtpclient

3
推荐指数
1
解决办法
1056
查看次数

使用gmail smtp通过代理发送电子邮件

试图在我的C#应用​​程序中发送一些电子邮件.我支持代理 - 这无疑是代码无效的原因.这是我到目前为止:

App.Config:

<system.net>
    <defaultProxy enabled="false">
      <proxy proxyaddress="xxx.xxx.xxx.xxx"/>
    </defaultProxy>
    <mailSettings>
      <smtp deliveryMethod="Network">
        <network host="smtp.gmail.com" port="587"/>
      </smtp>
    </mailSettings>
  </system.net>
Run Code Online (Sandbox Code Playgroud)

代码:

        var username = "...";
        var password = "...";

        var fromEmail = "...";
        var toEmail = "...";
        var body = "Test email body";
        var subject = "Test Subject Email";

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

        try
        {
            client.Send(fromEmail, toEmail, subject, body);
        }
        catch (Exception e)
        {
            MessageBox.Show(e.Message);
        }  
Run Code Online (Sandbox Code Playgroud)

每次我得到System.Net.WebException:无法解析远程名称:'smtp.gmail.com' …

c# proxy gmail send smtpclient

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

雅虎禁用从smtpclient .net发送的链接

我正在构建一个发送电子邮件的Web应用程序SmtpClient.net应用程序工作正常,电子邮件成功发送到gmail帐户和hotmail帐户,但是当我发送电子邮件到yahoo帐户时它成功发送,但是我在邮件中放入的链接被雅虎禁用.雅虎以某种方式重写链接并完全删除"href"属性,我不知道该怎么做,我已经尝试了我所知道的每种格式,但这并不好.这是我用来发送消息的代码.

 objEmail = new System.Net.Mail.MailMessage();
 objEmail.To.Add(new MailAddress(contact.Value.ToString(),null));
 objEmail.From = new MailAddress(from, null);
 objEmail.Subject = subject;
 objEmail.Body = Body;
 objEmail.IsBodyHtml = true;
 SmtpClient client = new SmtpClient();
 client.Send(objEmail);
Run Code Online (Sandbox Code Playgroud)

这是web.config文件中smtpclient的定义

<system.net>
        <mailSettings>
            <smtp deliveryMethod="Network">
                <network enableSsl="true" host="smtp.gmail.com" password="password" userName="user@gmail.com" port="587"/>
            </smtp>
        </mailSettings>
    </system.net>
Run Code Online (Sandbox Code Playgroud)

在消息体中我放了一个简单的链接,

<a href="http://www.postagi.com/HomePage.aspx?id=101">tester</a>
Run Code Online (Sandbox Code Playgroud)

这是雅虎在那里显示电子邮件收件箱.

<a id="yui_3_2_0_1_1327400481004292" rel="nofollow">tester</a> 
Run Code Online (Sandbox Code Playgroud)

这个错误真的让我发疯,请帮忙.

.net yahoo smtpclient

3
推荐指数
1
解决办法
2150
查看次数

SmtpClient UseDefaultCredentials属性的奇怪行为

今天早上我发现了一些SmtpClient类(.net 3.5)的奇怪行为.无法解释是否是导致它的类,或SMTP服务器.

发生以下情况:

  • 使用UseDefaultCredentials true和Credentials null实例化SmtpClient ,不发送邮件;
  • 使用UseDefaultCredentials false和Credentials将SmtpClient实例化为有效帐户,不发送邮件;
  • 使用UseDefaultCredentials false和Credentials null实例化SmtpClient ,邮件成功发送.

在前两种情况下,异常消息是:

信箱不可用.服务器响应为:5.7.1客户端无权作为此发件人发送"

问题:

  • 我怎样才能弄清楚导致这种行为的原因?
  • 有什么办法在c#中解决?

提前致谢!!

.net c# smtpclient

3
推荐指数
1
解决办法
2752
查看次数

随机"索引超出了数组的范围"作为SmtpException

我使用下面显示的Send方法随机获得异常.我得到的例外是:

Exception information:
    Exception type: System.Net.Mail.SmtpException
    Exception message: Failure sending mail.

Inner exception information (level 1):
    Exception type: System.IndexOutOfRangeException
    Exception message: Index was outside the bounds of the array.
Run Code Online (Sandbox Code Playgroud)

我的方法如下所示:

public void Send(string from, List<string> to, string subject, string body, List<string> attachments)
{
    var email = new MailMessage();
    var server = new SmtpClient();

    // Add each mail property
    email.From = new MailAddress(from);
    foreach (var t in to)
        email.To.Add(t);
    email.Subject = subject;
    email.IsBodyHtml = true;
    email.Body = body;
    foreach (var a …
Run Code Online (Sandbox Code Playgroud)

c# email system.net.mail smtpclient

3
推荐指数
1
解决办法
1600
查看次数

SmtpClient发送邮件

我正在尝试使用以下代码通过gmail发送邮件,但我一直收到错误,指出"无法连接到远程主机".我已经仔细检查了我的配置,一切看起来都很好.有人看到我失踪的东西吗?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;
using System.Net;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            SmtpClient client = new SmtpClient();
            client.UseDefaultCredentials = false;
            client.Credentials = new NetworkCredential("mymail@gmail.com", "mypass");
            client.Port = 587;
            client.Host = "smtp.gmail.com";
            client.EnableSsl = true;
            MailMessage mail = new MailMessage();
            mail.From = new MailAddress("mymail@gmail.com");
            mail.To.Add("tomail@tomail.org");
            mail.Subject = "subject thing";
            mail.Body = "dubbly doo";
            try
            {
                client.Send(mail);
            }
            catch(SmtpException e)
            {
                Console.Write(e.InnerException.Message);
                Console.ReadLine();
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# email smtp smtpclient

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

我们可以使用asp.net和c#从localhost发送邮件吗?

我在用 using System.Net.Mail;

并按照以下代码发送邮件

MailMessage message = new MailMessage();
        SmtpClient client = new SmtpClient();

        // Set the sender's address
        message.From = new MailAddress("fromAddress");

     // Allow multiple "To" addresses to be separated by a semi-colon
        if (toAddress.Trim().Length > 0)
        {
            foreach (string addr in toAddress.Split(';'))
            {
                message.To.Add(new MailAddress(addr));
            }
        }
      // Allow multiple "Cc" addresses to be separated by a semi-colon
        if (ccAddress.Trim().Length > 0)
        {
            foreach (string addr in ccAddress.Split(';'))
            {
                message.CC.Add(new MailAddress(addr));
            }
        }
        // Set the subject and …
Run Code Online (Sandbox Code Playgroud)

c# email smtpclient

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

SSL23_GET_SERVER_HELLO:未知协议[连接到msa(587)端口]

我想在新用户注册或忘记密码时发送电子邮件.我正在使用linux,该应用程序是使用node.js开发的.

错误:

[Error: 140020013401920:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:

014-03-17T04:23:22-0700 app.0: debug: cleared heartbeat timeout for client VP5heQmQKpirWe81qegF
2014-03-17T04:23:22-0700 app.0: debug: set heartbeat interval for client VP5heQmQKpirWe81qegF
2014-03-17T04:23:28-0700 app.0: { name: 'anyUser',
2014-03-17T04:23:28-0700 app.0: { [Error: 140020013401920:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:../deps/openssl/openssl/ssl/s23_clnt.c:683:
2014-03-17T04:23:28-0700 app.0:   hash: null,
2014-03-17T04:23:28-0700 app.0: ] stage: 'init' }
2014-03-17T04:23:28-0700 app.0:   email: 'testmail@testmail.com',
2014-03-17T04:23:28-0700 app.0:   initial: null,
2014-03-17T04:23:28-0700 app.0:   _id: 5326d4262a8c57cf04000005,
2014-03-17T04:23:28-0700 app.0:   __v: 0,
2014-03-17T04:23:28-0700 app.0:   pending: false,
2014-03-17T04:23:28-0700 app.0:   playerBadges: [],
2014-03-17T04:23:28-0700 app.0:   appRole: 'Player',
2014-03-17T04:23:28-0700 app.0:   projectsPlayer:
2014-03-17T04:23:28-0700 app.0:    [ …
Run Code Online (Sandbox Code Playgroud)

javascript email smtp smtpclient node.js

3
推荐指数
1
解决办法
5262
查看次数

发送的电子邮件仍包含HTML标记.

我正在向使用模板的人发送电子邮件.问题是所有标签都在显示.

<p>Hello,</p>

<p> Please, click the following link to change your password </p>
//...
<p> PLEASE DO NOT REPLY TO THIS MESSAGE</p>
Run Code Online (Sandbox Code Playgroud)

收到的邮件正在显示包含所有标签的原始邮件.有没有办法让它看起来像

这是我的代码:

string path = System.Web.HttpContext.Current.Server.MapPath("~/path/myTemplate.txt");
String body;
using (StreamReader sr = new StreamReader(path))
{
   body = sr.ReadToEnd();
}

body = body.Replace("<%PasswordLink%>", pwdLink);

var mail = new MailMessage("from", "to");
mail.Subject = "Password Reset";
mail.Priority = MailPriority.High;
mail.Body = body;

var client = new SmtpClient();
client.Port = 25;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Host = "123.45.67.89";
client.Send(mail);
Run Code Online (Sandbox Code Playgroud)

c# asp.net smtpclient

3
推荐指数
1
解决办法
1148
查看次数

标签 统计

smtpclient ×10

c# ×7

email ×4

.net ×2

smtp ×2

asp.net ×1

gmail ×1

javascript ×1

node.js ×1

proxy ×1

send ×1

system.net.mail ×1

yahoo ×1