【问题标题】:how to send mail using C#?如何使用 C# 发送邮件?
【发布时间】:2011-01-22 04:53:51
【问题描述】:

我想向任何电子邮件地址发送邮件,如何使用 C# 来实现。我正在本地主机上工作。

【问题讨论】:

标签: c# asp.net email


【解决方案1】:
System.Net.Mail.MailMessage message=new System.Net.Mail.MailMessage(
                new MailAddress(EmailUsername), new MailAddress("toemailaddress"));

message.Subject = "Message Subject";   // E.g: My New Email
message.Body = "Message Body";         // E.g: This is my new email ... Kind Regards, Me

对于 SMTP 部分,也可以使用SmtpClient

SmtpClient client = new SmtpClient(ServerIP);
client.Credentials = new System.Net.NetworkCredential(EmailUsername, EmailPassword);
client.Send(message);

请考虑接受一些答案。 0% 的接受率并不好。


已编辑以修复愚蠢的错误。为我服务,因为我没有先检查代码。

【讨论】:

  • System.Web.Mail 已被弃用。
  • To 属性是一个集合,From 不是字符串。
  • 我建议改进 SmtpClient client = new SmtpClient() 然后使用 web.config 进行配置 <mailSettings> <smtp from="me@my.net"> <network host="myhost.com" password="if needed" userName="if neede"/> </smtp> </mailSettings>
【解决方案2】:

您可以使用SmtpClient 类并使用MailMessage 实例调用Send(或SendAsync)。这两个类都在 System.Net.Mail 命名空间中。

SmtpClient 的 default constructor 使用 app/web.config 中的 configuration,但您可以使用 other constructors 指定所需的 SMTP 设置。

// using System.Net.Mail;

SmtpClient client = new SmtpClient();

MailMessage mm = new MailMessage()
{
    Subject = "Subject here",
    Body = "Body here"
};

mm.To.Add("email@tempuri.org");
mm.From = new MailMessage("from@tempuri.org");

client.Send(mm);

【讨论】:

  • +1 用于指出我回答中的问题。现在对它们进行排序。
【解决方案3】:

补充一点,有一个非常不错的网站,其中包含您应该了解的所有内容 System.Net:Mail 命名空间

它被称为:

http://www.SystemNetMail.com/

希望它能帮助像从那时起一直在帮助我的人:)

【讨论】:

  • 只是想对插件表示感谢。我总是很高兴遇到喜欢我网站的其他开发人员。谢谢!戴夫。
【解决方案4】:

这是发送带有附件的电子邮件

using System.Net;
using System.Net.Mail;

public void email_send()
{
    MailMessage mail = new MailMessage();
    SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
    mail.From = new MailAddress("your mail@gmail.com");
    mail.To.Add("to_mail@gmail.com");
    mail.Subject = "Test Mail - 1";
    mail.Body = "mail with attachment";

    System.Net.Mail.Attachment attachment;
    attachment = new System.Net.Mail.Attachment("c:/textfile.txt");
    mail.Attachments.Add(attachment);

    SmtpServer.Port = 587;
    SmtpServer.Credentials = new System.Net.NetworkCredential("your mail@gmail.com", "your password");
    SmtpServer.EnableSsl = true;

    SmtpServer.Send(mail);
}

【讨论】:

    【解决方案5】:

    试试这个...

    public static void Send(string pFrom, string pSubject, string pTo, string pBody)
    {
        System.Net.Mail.MailMessage loMail = new System.Net.Mail.MailMessage();
        System.Net.NetworkCredential loCredencial = new System.Net.NetworkCredential(MAIL_USERNAME, MAIL_PASSWORD);
        loMail.To.Add(pTo);
        loMail.Subject = pSubject;
        loMail.From = new System.Net.Mail.MailAddress(pFrom);
        loMail.IsBodyHtml = true;
        loMail.Body = pBody;
        System.Net.Mail.SmtpClient loSmtp = new System.Net.Mail.SmtpClient(MAIL_SMTP);
        loSmtp.UseDefaultCredentials = false;
        loSmtp.Credentials = loCredencial;
        loSmtp.Port = MAIL_PORT;
        loSmtp.Send(loMail);
    }
    

    【讨论】:

      【解决方案6】:

      如果您使用的是 ASP.Net MVC,我建议您查看 MvcMailer

      【讨论】:

        【解决方案7】:

        使用这个。

          private static void SendMail(string subject, string content)
            {
                try
        
                {
                    MailMessage mail = new MailMessage();
                    SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
                    mail.From = new MailAddress("YOURMAİL");
                    mail.To.Add("MAİLTO");
                    mail.Subject = subject;
                    mail.Body = content;
                    SmtpServer.Port = 25;
                    SmtpServer.Credentials = new System.Net.NetworkCredential("YOURMAİL", "YOURMAİLPASSWORD");
                    SmtpServer.EnableSsl = true;
                    SmtpServer.Send(mail);
                }
                catch (Exception ex)
                {
        
                }
            }
        

        并且不要忘记添加 ---using System.Net.Mail;---

        【讨论】:

          猜你喜欢
          • 2011-02-05
          • 2018-12-05
          • 1970-01-01
          • 2011-01-08
          • 2014-09-09
          • 2013-10-06
          • 2017-06-26
          • 2012-05-17
          • 2011-11-21
          相关资源
          最近更新 更多