考虑到SmtpClient有一个我没有使用的SendAsync方法,因此假设StmpClient.Send是同步的是否安全?我正在使用它来发送带有临时文件附件的电子邮件,并想知道我是否可以立即删除临时附件.
谢谢,罗布.
假设我使用smtpclient将我的电子邮件提交到我的本地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' …
我正在构建一个发送电子邮件的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)
这个错误真的让我发疯,请帮忙.
今天早上我发现了一些SmtpClient类(.net 3.5)的奇怪行为.无法解释是否是导致它的类,或SMTP服务器.
发生以下情况:
在前两种情况下,异常消息是:
信箱不可用.服务器响应为:5.7.1客户端无权作为此发件人发送"
问题:
提前致谢!!
我使用下面显示的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) 我正在尝试使用以下代码通过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) 我在用 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) 我想在新用户注册或忘记密码时发送电子邮件.我正在使用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) 我正在向使用模板的人发送电子邮件.问题是所有标签都在显示.
<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)