我正在编写需要发送SMTP电子邮件的C#类.我在这个问题中找到了代码,这给了我发送电子邮件 ) 为方便起见,这是我正在从 worth using System.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 = SmtpD
以下是关于 smtpclient 的编程技术问答
我有一个MVC .NET Web应用程序,该应用程序已在一年的大部分时间内一直在运行稳定.但是,今天我们收到了一个错误代码,我很难找到解决问题. 在应用程序中,我使用smtpclient将电子邮件发送出去.为此,我们使用Outlook电子邮件帐户.直到今天,这都很好.我得到的错误代码是: 邮箱不可用.服务器响应是:5.3.4 554-554 5.2.0 storedrv.deliver;交付结果横幅 这是我在应用程序中使用的代码. var client = new SmtpClient { Host = WebConfigurationManager.AppSettings["EmailHost"], Port = 587, EnableSsl = true, DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false, Cre
我尝试通过我的专用Office365帐户发送电子邮件,但我在主题编码方面有问题 - 我所有的特殊字符均由"?"代替. 我使用的代码非常简单,并且可以在SMTP-mail.outlook.com上与不同的测试帐户一起工作. using (var mailMsg = new MailMessage(sender, recipient)) { mailMsg.IsBodyHtml = true; mailMsg.Subject = "Hello world żółćąź"; mailMsg.Body = body; using (var smtpClient = new SmtpClient()) { smtpClient.Credentials = new NetworkCredential("email", "password"); smtpClient.EnableSsl = true;
我的C#WPF程序在我们的Office 365 Company帐户中实现了2因子身份验证之前已经过身份验证并成功发送了邮件.我使用了SMTPCLIENT库,但是现在我必须找到另一个解决方案,因为它不再起作用.我找不到使用O365 App密码的任何工作示例. 有没有人可以帮助我解决问题? 解决方案 我已经找到了一个解决方案. 似乎有一些配置可以阻止Azure AD上的传统身份验证(尝试在Google上找到 block block legacy身份验证条件访问策略).这种配置可能会阻止SMTP上的所有访问. 但是,在我的研究中,我后来改用了Microsoft API的使用,它的工作方式就像魅力.我可以推荐它.以下是有关如何使用它的更详细信息.我身边的原因是,整个IT世界正在缓慢(或迅速?)朝着更安全的技术迈进,并花能量使SMTP使用2FA工作,这在我看来是一个被抛弃的时间.因此,我在过程中间停止了自己,在租户上启用了2FA,并与API建立了连接.我眼中的未来解决方案.至少
我正在搜索几天,以了解如何在VB6应用程序中设置Office365 SMTP服务器.我的代码正与端口465和其他邮件服务器正常使用. 但是它不与端口587和smtp.office365.com 一起使用 有什么办法可以通过VB6中的587使用TLS? 谢谢 解决方案 使用此代码,我可以使用CDO发送邮件到Office365. Private Message As CDO.Message Private Attachment, Expression, Matches, FilenameMatch, i Sub enviar_mail() Set Message = New CDO.Message Message.Subject = "Test Mail" Message.From = "YourEmail@yourdomain.com" Message.To = "" Message.CC = "" Message.TextBody = "my text
我们有一个电子邮件帐户,例如 emailname@companydomain.in ,这是在 Office365 中配置的.我们想使用 emailname@companydomain.in.in 发送电子邮件. 以下代码有时可以工作,有时不起作用(大多数情况下无效).给出的错误"无法从传输连接中读取数据:net_io_connectionclosed" .代码是 public static void SendEmail(string toEmailId, string subject, string mailMessage) { string fromEmail = "emailName@companyDomain.in"; MailMessage msg = new MailMessage(); msg.To.Add(toEmailId); msg.From = new MailAddress(fromEm
我正在尝试设置一些代码以通过 Office发送电子邮件365的身份验证的SMTP服务: var _mailServer = new SmtpClient(); _mailServer.UseDefaultCredentials = false; _mailServer.Credentials = new NetworkCredential("test.user@mydomain.com", "password"); _mailServer.Host = "smtp.office365.com"; _mailServer.TargetName = "STARTTLS/smtp.office365.com"; // same behaviour if this lien is removed _mailServer.Port = 587; _mailServer.EnableSsl = true; var eml = new MailMessage(); eml.Sender = n
任何人都知道一个可用于iPhone应用的Objective-C SMTP库. 我使用skpsmtpmessage 谢谢. 解决方案 尝试使用 https://github.com/mailcore/mailcore/mailcore2 .它是异步的,并且支持大多数邮件协议. 查看发送邮件示例: MCOSMTPSession *smtpSession = [[MCOSMTPSession alloc] init]; smtpSession.hostname = @"smtp.gmail.com"; smtpSession.port = 465; smtpSession.username = @"matt@gmail.com"; smtpSession.password = @"password"; smtpSession.authType = MCOAuthTypeSASLPlain; smtpSession.connectionType = MCO
我试图在不使用外部SMTP服务器的情况下从自己的域发送电子邮件.我正在使用 nodemailer的SMTP Connection : let options = { secure: true, port: consts.portOut,//465 host: consts.host, //mydomain.com transactionLog: true, debug: true, requireTLS: true, authMethod: 'PLAIN', }; let connection = new SMTPConnection(options); connection.connect(function() { let auth = { user: 'abc', pass: 'def' }; connection.login(auth, function(er
我正在尝试使用Gmail的SMTP发送电子邮件(请参见下文代码),但我会收到"不接受的用户名和密码"错误. 我尝试过: this link this link allow less secure apps allow less secure apps SSL已启用 在Gmail的设置上启用IMAP/pop 不同的登录 它们都没有工作. 这是PHP代码: function sendEmail($from, $fromName, $msg) { $mail = new PHPMailer(); $mail->SMTPDebug = 4; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only $mai
对不起,标题有点cr脚,我无法正确地说. 编辑:我应该注意这是一个控制台C#应用 我已经原型制作了一个像这样起作用的系统(这是粗糙的伪codeish): var collection = grabfromdb(); foreach (item in collection) { SendAnEmail(); } sendAnemail: SmtpClient mailClient = new SmtpClient; mailClient.SendCompleted += new SendCompletedEventHandler(SendComplete); mailClient.SendAsync('the mail message'); sendcomplete: if (anyErrors) { errorHandling() } else { HitDBAndMarkAsSendOK(); } 显然,此设置
我有以下代码: public static void Send(this MailMessage email) { if (!isInitialized) Initialize(false); //smtpClient.SendAsync(email, ""); email.IsBodyHtml = true; Thread mailThread = new Thread(new ParameterizedThreadStart( (o) => { var m = o as MailMessage; SmtpClient client= new SmtpClient("smtpserveraddress"); client.
我正在为学校项目开发邮件客户端.我设法使用C#中的SmtpClient发送电子邮件.这与任何服务器都完美搭配,但与Gmail无法使用.我相信这是因为Google使用了TLS.我尝试在SmtpClient上尝试将EnableSsl设置为true,但这并没有区别. 这是我用来创建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();
我创建了一个控制台应用程序,用于将数据从一个数据库表迁移到另一个数据库表迁移的记录,因此我必须将其通知它们以进行密码更改. public static async Task SendRegisterEmail(List mailMessage) { bool flag = true; try { var smtp = new SmtpClient(); var taskEmails = mailMessage.Select(x => smtp.SendMailAsync(x)); await Task.WhenAll(taskEmails); // **Error : An asynchronous call is already in progress. It must be completed or canceled before you can call this
有人知道一个很好的例子是生成带有嵌入式图像和替代文本部分的HTML电子邮件吗?我需要在HTML中生成一些表格报告,并希望嵌入徽标和其他图像. 我相信Indy可以通过一些工作来做到这一点,但我希望有人可以将我指向一个很好的榜样.我愿意使用Indy以外的图书馆,并提供提供的商业解决方案.质量和实施时间比成本更重要.该解决方案还需要支持基于SMTP的邮件交换器的交付. 我的愿望清单上的另一个项目是能够利用Fastreports,Trichview或类似工具来生成HTML消息内容.两者都有HTML输出过滤器,但我没有机会进行任何测试.对此主题的任何反馈将不胜感激. 预先感谢! 大卫 解决方案 阅读以下文章在Indy的网站上,他们解释了HTML填充A TIdMesaage的正确方法: 其他解决方案 这些天我使用Clever Component的电子邮件客户端,尽管不是免费的. 过去,涡轮互联网(OpenSource)控件对我来说很棒. 其他解决方
我正在研究针对Windows Mobile设备的订单输入应用程序. 我需要能够从应用程序内发送和接收电子邮件,但不使用Pocket Outlook(这是客户要求). 我看到.NET邮件类不适用于紧凑型框架.所以我需要看其他地方. 我找到了2个有趣的库:CSLMail和Mooseworks的电子邮件控件.但是没有人能够处理SSL连接,这是强制性要求 我找到了一些支持紧凑型框架的商业电子邮件组件套件,但是它们的价格很高($ 200+). 我想我不是唯一遇到发送和接收电子邮件的问题 - 因此,我的问题是:任何人都可以建议我免费或低成本CF.NET SMTP/POP3 Library ? 谢谢 解决方案 好吧,我认为Ctacke说了所有要说的.....但是: 涉及SSL的原因是,有一个免费的组件在Windows Mobile(和CF.NET)上起作用,该组件称为SocketPro(由UDAPARTS编写).您可能会在此我已经成功地使用了该库,用于
这似乎是一个常见的错误,但是虽然我找到了一个工作(请参阅下文),但我不能首先固定我的原因. 我正在将SMTP功能写入我们的应用程序,我正在尝试将SSL功能添加到我们已经拥有的工作SMTP. 我正在使用我们公司的MS Exchange Server,特别是在此上启用的网络邮件选项进行测试.我可以通过我的代码内部发送电子邮件,通过不明身份验证我的连接并匿名发送,但是由于我们的公司策略,这些电子邮件不会传达给外部电子邮件地址.除此之外,我正在为我们的客户编写此内容,并且他们不允许打开接力和/或匿名连接. 我相信Exchange服务器正在使用显式SSL/TLS.我已经尝试了telnet到端口25上的服务器地址,并获得了文本响应,人类可读响应,根据我之前的某些搜索,这意味着它正在使用显式SSL/TLS. 我有以下测试代码 SmtpClient SMTPClient = new SmtpClient(webmailaddress); SMTPClient.Port =
我的代码如下: ContentType ct = new ContentType(); ct.MediaType = MediaTypeNames.Application.Octet; ct.Name = "这是一个很长的中文文件名希望能用它在附件名中.Doc"; Attachment attach = new Attachment(stream, ct); 但是,收到的附件不是使用正确的中文文件名,我发现ct.name becames" =?utf-8?b?6l+Z5PIV5LIA5B6I6ZW/55QE5LIT5PAHIT5PAH5PAH5PAH5PAH5LU25ZCN5BIM5BIM5BIM5BIM5BIM5PYB? ?6io955SO5A6D5ZYO6ZME5LU25ZCN5LIT?="在VS2010调试器中. plz建议,我如何在附件文件名中使用中国字符? 解决方案 您可以尝试: Attachment att = new Attachment(@"
我在下面的代码中遇到错误"服务器不支持安全连接". SmtpClient smtp = new SmtpClient(); MailMessage mail = new MailMessage(); mail.From = new MailAddress("*****@gmail.com"); mail.To.Add(recieverId); mail.Subject = "Invoice Copy and Delivery Confirmation for booksap.com Order " + orderno + ". Please Share Feedback."; System.Net.Mail.Attachment attachment; attachment = new System.Net.Mail
我正在使用system.net.mail通过我的应用程序发送电子邮件.我试图发送带有以下代码的附件的电子邮件. Collection MailAttachments = new Collection(); MailAttachments.Add("C:\\Sample.JPG"); mailMessage = new MailMessage(); foreach (string filePath in emailNotificationData.MailAttachments) { FileStream fileStream = File.OpenWrite(filePath); using (fileStream) { Attachment attachment = new Attachment(fileStream, filePath);