c# - 如何通过电子邮件发送数据

标签 c# asp.net email listbox

我需要将列表框项目发送到电子邮件。代码运行良好,但是当它到达 Send 方法时却无法发送。

    protected void ProcessButton_Click(object sender, EventArgs e)
    {
        try
        {
            MailMessage mailMessage = new MailMessage();
            mailMessage.To.Add("someone@live.com");
            mailMessage.From = new MailAddress("myAdress@live.com");
            mailMessage.Subject = "ASP.NET e-mail test";
            mailMessage.Body = OrderListBox.Items.ToString();
            SmtpClient smtpClient = new SmtpClient("smtp.live.com");
            smtpClient.Send(mailMessage);
            Response.Write("E-mail sent!");
        }
        catch (Exception ex)
        {
            Response.Write("Could not send email - error: " + ex.Message);
        }
    }

最佳答案

您可以在文件中写入列表并将其作为附件发送(gmail 示例):

protected bool ProcessButton_Click(object sender, EventArgs e)
    {
        SmtpClient client = new SmtpClient();
        client.Host = "smtp.gmail.com";
        client.Port = 587;
        client.Credentials = new NetworkCredential("myEmail@gmail.com", "password");
        //if you have double verification on gmail, then generate and write App Password
        client.EnableSsl = true;

        MailMessage message = new MailMessage(new MailAddress("myEmail@gmail.com"),
            new MailAddress(receiverEmail));
        message.Subject = "Title";
        message.Body = $"Text";

        // Attach file
        Attachment attachment;
        attachment = new Attachment("D:\list.txt");
        message.Attachments.Add(attachment);

        try
        {
            client.Send(message);
            // ALL OK
            return true;
        }
        catch
        {
            //Have problem
            return false;
        }
    }

并在代码的开头写上:

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

您可以根据需要选择 smpt 主机地址和端口。

关于c# - 如何通过电子邮件发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43699122/

相关文章:

c# - 如何在某些情况下从数据表中选择全部?

javascript - jQuery Datatables 请求行 '0' 列 '0' 的未知参数 '0'

java - SPF记录,邮件服务器如何检查?

c# - 在unity3D中使用C#发送邮件?

c# - .NET 新手套接字问题

c# - Dictionary<int, List<T>> 和 IDictionary<int, IEnumerable<T>> 之间没有分配兼容性?

c# - 在 ViewModel 中复制实体

email - Outlook VBA 用于发送带附件的电子邮件

c# - 如何检查我的 C#/WPF 应用程序需要多少 RAM?

c# - SendMessageAsync 在 Win32 和 UWP 之间通信时随机抛出异常