抽出がアップロードされると、およそ60人のユーザーに電子メールアラートを送信するための次のコードがあります。私はそれをローカルに実行している場合、それはすべてのアカウントに送信されますが、私はサーバーにそれをアップロードするとき、それは一人に唯一の場合を除き、すべての電子メールを送信しません。私はホスティングやサーバーのものに多くの経験を持っていないので、あなたが私に与えることができるどんな助けも素晴らしいだろう。電子メールは多数の人に送信されません
if (Session["ExtractNo"].ToString() == "Extract 1")
{
//Connection String (SendEmail)
string SendEmail = ConfigurationManager.ConnectionStrings["Sendmail"].ConnectionString;
SqlDataReader reader;
String SendMessage = "SELECT Name, Position, Email FROM AuthorisedStaff Where Position = 'CM' or Position = 'DHOD' or Position = 'HOD'"; //<---- change position before launch
using (SqlConnection myConnection = new SqlConnection(SendEmail))
{
myConnection.Open();
SqlCommand myCommand = new SqlCommand(SendMessage, myConnection);
ArrayList emailArray = new ArrayList();
reader = myCommand.ExecuteReader();
var emails = new List<EmailCode>();
while (reader.Read())
{
emails.Add(new EmailCode
{
Email = Convert.ToString(reader["Email"]),
Name = Convert.ToString(reader["Name"]),
Position = Convert.ToString(reader["Position"])
});
}
foreach (EmailCode email in emails)
{
//Email Config
const string username = "[email protected]"; //account address
const string password = "######"; //account password
SmtpClient smtpclient = new SmtpClient();
MailMessage mail = new MailMessage();
MailAddress fromaddress = new MailAddress("[email protected]", "PTLP"); //address and from name
smtpclient.Host = "omavex011"; //host name for particular email address
smtpclient.Port = 25; //port number for particular email address
mail.From = fromaddress;
mail.To.Add(email.Email);
mail.Subject = ("PTLP Check");
mail.IsBodyHtml = true;
//change context of message below as appropriate
mail.Body = HttpUtility.HtmlEncode(email.Name) + " <br /> <p>Part Time Payroll details are now available for checking.</p> ";
//smtpclient.EnableSsl = true;
smtpclient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpclient.Credentials = new System.Net.NetworkCredential(username, password);
smtpclient.Send(mail);
}
}
}
あなたは他の確認、多分それが問題の一部であり、あなたの 'SmtpClient'を処分されていませんディスポーザブルクラスも 'using'ステートメントでラップします。 –
"それは一人にしかならない限り、電子メールを送信しません。 - それは何をするためのものか?エラーなしで終了する、例外をスローする、無限ループに詰まっているように見える、など。 – Quantic
ファイルをアップロードするコードを完成させます。エラーは表示されません。コードを見落とすように表示されますが、ローカルで実行すると問題はありません。 – Alexandria