发送包含多个/已定义“收件人”的电子邮件 [英] Send email with multiple/defined “To” recipients

查看:108
本文介绍了发送包含多个/已定义“收件人”的电子邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在asp.net中有一种形式。我想将表单发送到电子邮件,具体取决于从菜单选项中选择的城市。

这里是cs文件中的代码:



 htbl [  @ HtmlPage] = sbTableData.ToString(); 
string _From = ConfigurationManager.AppSettings [ 的MailFrom]的ToString();

string _to = string .Empty;

switch (ddlRegion.SelectedItem.Value)
{
case 1:_to = ConfigurationManager.AppSettings [ MailToA]; break ;
case 2 :_to = ConfigurationManager.AppSettings [ MailToB]; break ;
case 3 :_to = ConfigurationManager.AppSettings [ MailToC]; break ;
case 4 :_to = ConfigurationManager.AppSettings [ MailToD]; break ;
}





和webconfig文件中我有:



目前正在工作 -

 <   appSettings  >  
< add key = SMTP_HOST_ADDRESS value = mail.company.com > < / add >
< add key = CREDENTIAL_USER value = yourcredentialuser > < / add >
< add key = CREDENTIAL_PASSWORD value = credentialpassword > < / add >
< add key = MailFrom value = Admin@company.com > < / add >
< add key = MailTo value = admin1@company.com > < / add >



< / appSettings >





我改变之后webconfig文件

 <   appSettings  < span class =code-keyword>>  
< add key = SMTP_HOST_ADDRESS value = mail.company.com > < / add >
< add key = CREDENTIAL_USER < span class =code-attribute> value = yourcredentialuser > < / add >
< add key = CREDENTIAL_PASSWORD value = credentialpassword > < / add >
< add < span class =code-attribute> key = MailTo_A value = A@company.com > < / add >
< add key = MailTo_B value = B@company.com > < / add >
< add key = MailTo_C value = C@company.com > < < span class =code-leadattribute> / add >
< add key = MailTo_D = D@company.com > < / add > ;
< add key = MailFrom value = Admin@company.com > < / add >


< / appSettings >





现在,当我点击表单上的提交时,我收到一条错误消息

对象引用未设置为一个实例宾语。



如果您需要更多信息,请告诉我。

解决方案

看起来你有一个在这里提出您的命名问题。在您的配置文件中,您将其称为 MailTo_A 但是当您在代码中调用它时,您将其称为 MailToA 。一个是缺少下划线。






阅读这篇文章:

使用或不使用附件在C#中发送电子邮件:通用例程。 [ ^ ]


还有一个简单的方法

 import system.net.mail 



然后

 MailMessage mail =  new  MailMessage(); 
SmtpClient smtp = new SmtpClient();
smtp.Host = smtp.gmail.com; // 或您的SMTP服务器地址
smtp.Credentials = new System.Net.NetworkCredential
用户名 password); // < span class =code-comment>或您的Smtp电子邮件ID和密码
smtp.EnableSsl = true ;

mail.From = new MailAddress( 邮件地址);
mail.Subject = 邮件主题;
mail.Body = mail body;
mail.IsBodyHtml = true ;
mail.To.Add( 用逗号分隔的邮件ID);
mail.Bcc.Add( mail addresses);
// 如果您希望每个邮件都是单独的
smtp 。发送(电子邮件);


I have a kind of form in asp.net. I want to send the form to email depending upon which city is selected from menu choice.
Here''s the code in cs file:

htbl["@HtmlPage"] = sbTableData.ToString();
    string _From = ConfigurationManager.AppSettings["MailFrom"].ToString();

      string _to = string.Empty;

switch(ddlRegion.SelectedItem.Value)
{
case "1": _to = ConfigurationManager.AppSettings["MailToA"]; break;
case "2": _to = ConfigurationManager.AppSettings["MailToB"]; break;
case "3": _to = ConfigurationManager.AppSettings["MailToC"]; break;
case "4": _to = ConfigurationManager.AppSettings["MailToD"]; break;
}



and in the webconfig file I have:

At present which is working-

<appSettings>
    <add key="SMTP_HOST_ADDRESS" value="mail.company.com"></add>
    <add key="CREDENTIAL_USER" value="yourcredentialuser"></add>
    <add key="CREDENTIAL_PASSWORD" value="credentialpassword"></add>
    <add key="MailFrom" value="Admin@company.com"></add>
    <add key="MailTo" value="admin1@company.com"></add>



  </appSettings>



After I changed the webconfig file

<appSettings>
    <add key="SMTP_HOST_ADDRESS" value="mail.company.com"></add>
    <add key="CREDENTIAL_USER" value="yourcredentialuser"></add>
    <add key="CREDENTIAL_PASSWORD" value="credentialpassword"></add>
    <add key="MailTo_A" value="A@company.com"></add>
    <add key="MailTo_B" value="B@company.com"></add>
    <add key="MailTo_C" value="C@company.com"></add>
    <add key="MailTo_D" value="D@company.com"></add>
    <add key="MailFrom" value="Admin@company.com"></add>


  </appSettings>



Now when I click on submit on the form I am getting an error message
Object reference not set to an instance of an object.

If you require any more info please let me know.

解决方案

It looks like you have an issue here with your naming. In your config file, you call it MailTo_A but when you call it in code you call it MailToA. The one is missing the underscore.


Hi,

Read this article:
Sending an Email in C# with or without attachments: generic routine.[^]


There is also a simple method

import system.net.mail


then

MailMessage mail = new MailMessage();
                        SmtpClient smtp = new SmtpClient();
                        smtp.Host = "smtp.gmail.com"; //Or Your SMTP Server Address
                        smtp.Credentials = new System.Net.NetworkCredential
                        ("Username", "password");//Or your Smtp Email ID and Password
                        smtp.EnableSsl = true;
                        
                        mail.From = new MailAddress("mail address");
                        mail.Subject = "mail subject";
                        mail.Body = "mail body";
                        mail.IsBodyHtml = true;
                        mail.To.Add("mail id seperated with comma");
                        mail.Bcc.Add("mail addresses"); 
//if you want that each and every get mail as individual
                        smtp.Send(mail);


这篇关于发送包含多个/已定义“收件人”的电子邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆