我需要一個最好的(發行性能)代碼發送郵件到多個電子郵件地址以附件的文件,並在C#送貨到達代碼發送郵件到多個電子郵件地址以附件和可送貨
-2
A
回答
3
在C#中發送郵件:
Sending Email with attachment in ASP.NET using SMTP Server
MAILMESSAGE具有DeliveryNotificationOptions property,其設置是這樣的:
messagetest .DeliveryNotificationOptions = DeliveryN otificationOptions.OnSucces S;
2
這是從CSV文件中讀取姓名,電子郵件地址以便發送到這些地址的代碼。它涉及許多功能。每一個都是明確的。
//Declare these two variables global in the form, class
MailMessage message;//= new MailMessage()
SmtpClient smtpClient;//= new SmtpClient()
//A function that will read data from CSV File into List and will create a DataTable
public DataTable maketable()
{
string path = this.Server.MapPath("app_data");
path += "\\employeelist.csv";
List<string[]> testParse =
parseCSV(path);
DataTable newTable = new DataTable();
foreach (string column in testParse[0])
{
newTable.Columns.Add();
}
foreach (string[] row in testParse)
{
newTable.Rows.Add(row);
}
return newTable;
}
//This Functions Actually reads the CSV file and make list
public List<string[]> parseCSV(string path)
{
List<string[]> parsedData = new List<string[]>();
try
{
using (StreamReader readFile = new StreamReader(path))
{
string line;
string[] row;
while ((line = readFile.ReadLine()) != null)
{
row = line.Split(',');
parsedData.Add(row);
}
}
}
catch (Exception e)
{
parent.list.Items.Add(e.Message);
}
return parsedData;
}
//I have called below function with given subject and body text as a string at any place.. either in button_click event or any other place
SendAttendanceWithAttachment(email_subject, body);
// Now the body of SendAttendanceWithAttachment(.....);
void SendAttendanceWithAttachment(string subject, string body)
{
string FileAbsolutePath = "C:\\att\\"; // where the directory is containing files for attachment
string FileName = "";
Attachment attach;
//OPen CSV File Read all contact and then send one by one.
smtpClient = new SmtpClient();
smtpClient.Host = "<smtp host>";//like for google : ssl://smtp.gmail.com
smtpClient.Port = <int>;// port number for google 465
smtpClient.UseDefaultCredentials = true;
smtpClient.Credentials = new System.Net.NetworkCredential("<gmail address>", "<password>");
MailAddress fromAddress = new MailAddress("<sender email address>");
dt = maketable();
try
{
add_item("Weekly attendance Sending starts....");
for (int i = 0; i < dt.Rows.Count; i++)//dt.Rows.Count
{
message = new MailMessage();
if (dt.Rows[i][1].ToString() == string.Empty)
{
continue;
}
else
{
FileName = FileAbsolutePath + dt.Rows[i][0].ToString() + ".csv";
if (File.Exists(FileName))
{
attach = new Attachment(FileName);
//Add in data
message.To.Add(dt.Rows[i][1].ToString());
message.Subject = subject;
message.IsBodyHtml = true;
message.Body = body;
message.From = fromAddress;
message.Attachments.Add(attach);
//add_item("Sending Message " + (i+1) + " of " + dt.Rows.Count + " to : " + dt.Rows[i][0].ToString());
SendMail(message, smtpClient);
//add_item("Email Sent to :" + dt.Rows[i][0].ToString());
}
}
}
//add_item("Weekly attendance Sent to all..");
}
catch (System.Exception e)
{
//parent.list.Items.Add(e.Message);
}
//Finally the SendMail()...
public void SendMail(MailMessage message, SmtpClient smtpClient)
{
try
{
smtpClient.Send(message);
}
catch (Exception ex)
{
//parent.list.Items.Add(ex.Message);
}
}
它是一個完整的過程中,您是如何從一個CSV文件的讀取,添加地址列表,然後到數據表,然後組成帶有文件附件和發送電子郵件。希望你會從中受益。
+0
在「SendAttendanceWithAttachment」方法'code'message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess;'中添加一行 – DareDevil
相關問題
- 1. 發送電子郵件到多個電子郵件地址
- 2. 發送電子郵件到多個電子郵件地址
- 3. 發送電子郵件到多個電子郵件地址
- 4. Laravel 5.3將郵件發送到多個電子郵件地址
- 5. PHP將郵件發送到多個電子郵件地址
- 6. 用附件發送電子郵件到多封電子郵件
- 7. 發送多個電子郵件地址到郵件應用程序郵件到
- 8. 該電子郵件發送給哪個電子郵件地址?
- 9. 發送電子郵件到多個電子郵件地址導軌3
- 10. 從報告中發送電子郵件到多個電子郵件地址
- 11. 發送電子郵件到多個逗號分隔的電子郵件地址
- 12. 無法發送電子郵件到2個以上的電子郵件地址
- 13. PHPMailer - 發送帶有附件的電子郵件到多個人和從MySql下載的電子郵件地址
- 14. 發送電子郵件和附件
- 15. 不能發送附件到另一電子郵件地址
- 16. 電子郵件表單根據附件發送多個郵件
- 17. 「電子郵件地址:」不發送電子郵件
- 18. 如何通過電子郵件發送電子郵件地址
- 19. 發送郵件功能不會發送郵件與vailid電子郵件地址
- 20. 我可以發送多個電子郵件地址多個收件人在C#
- 21. PHP發送電子郵件多次發送電子郵件
- 22. 從一個硬編碼的電子郵件地址發送電子郵件iphone
- 23. PEAR郵件不發送到某些電子郵件地址
- 24. 用PHP發送電子郵件到Facebook羣郵件地址
- 25. PHP發送電子郵件與文件附件 - 電子郵件不發送
- 26. VBA以電子郵件的方式發送多個地址
- 27. SendGrid電子郵件API,發送電子郵件附件
- 28. Java:發送電子郵件附件:無法發送附件
- 29. Android電子郵件發送無附件
- 30. 發送電子郵件附件C#
你有什麼試過?你卡在哪裏?你有沒有看過[System.Net.Mail](http://msdn.microsoft.com/en-us/library/system.net.mail.aspx)命名空間? – Heinzi
非常好。嘗試一下,使用谷歌的inital幫助搜索,然後如果你在任何地方張貼問題與任何你已經嘗試。 – Maheep