当我在本地运行应用程序时,这很好用 - 基本上在IIS Express(以前称为开发服务器)上。但是,如果我发布到IIS,它不起作用。在两台不同的机器上尝试了两个不同的IIS。我不知道如何在IIS上运行时获取任何日志信息。所有关于检查每分钟是否有新记录发送电子邮件。
的Global.asax:
protected void Application_Start(object sender, EventArgs e)
{
System.Timers.Timer timer = new System.Timers.Timer();
timer.Interval = 60000;
timer.AutoReset = true;
timer.Elapsed += new ElapsedEventHandler(NewCandidates);
timer.Enabled = true;
}
public void NewCandidates(object source, System.Timers.ElapsedEventArgs e)
{
SendEmail.MailSender mail = new MailSender();
mail.EmailSender();
}
EmailSender方法:
public void EmailSender()
{
Entities entity = new Entities();
DateTime moment = DateTime.Now.AddMinutes(-1);
var ilan = from ilanRow in entity.IsIlan
where (ilanRow.Date >= moment) && (ilanRow.Yayinla==true)
from iOnay in entity.IlanOnay
where iOnay.IlanId == ilanRow.IsIlanId
from sirket in entity.KurumFirma
where sirket.KurumFirmaId==ilanRow.KurumFirmaId
select new { ilanRow, iOnay, sirket };
List<IlanList> liste = new List<IlanList>();
foreach (var itemilan in ilan)
{
liste.Add(new IlanList
{
KurumId = itemilan.ilanRow.KurumFirmaId,
IlanId = itemilan.ilanRow.IsIlanId,
SirketAdi = itemilan.sirket.Adi,
IlanAdi = itemilan.ilanRow.Adi,
Il = itemilan.ilanRow.Il,
IsAlan = itemilan.ilanRow.IsAlan,
Date = itemilan.ilanRow.Date,
Sonuc = itemilan.iOnay.sonuc
});
}
List<IlanOnayList> listeOnay = new List<IlanOnayList>();
MailMessage message = new MailMessage();
message.From = new MailAddress("info@company.com");
message.To.Add(new MailAddress("cuneytkukrer@googlemail.com"));
message.Subject = "New Ones";
string body = "<table style=\"border:1px solid gray; padding:5px;\"><th>Şirket Adı</th><th>İlan Adı</th><th>İl</th><th>İş Alanı</th><th>Tarih</th>";
foreach (var item in liste)
{
body = body +
"<tr><td style=\"border:1px solid gray; padding:5px;\">" + item.SirketAdi +
"<td style=\"border:1px solid gray; padding:5px;\">" + item.IlanAdi +
"</td><td style=\"border:1px solid gray; padding:5px;\">" + item.Il +
"</td><td style=\"border:1px solid gray; padding:5px;\">" + item.IsAlan +
"</td><td style=\"border:1px solid gray; padding:5px;\">" + item.Tarih +
"</td></tr>";
}
body = body + "</table><br />";
message.Body = body;
message.IsBodyHtml = true;
SmtpClient client = new SmtpClient();
foreach (var item in liste)
{
if (liste.Count > 0 && item.Sonuc != "var")
{
client.Send(message);
var onay = from i in entity.IlanOnay where i.IlanId == item.IlanId select i;
foreach (var itemonay in onay)
{
itemonay.sonuc = "var";
entity.SaveChanges();
}
}
}
}
Web.Config中:
<system.net>
<mailSettings>
<smtp from="info@company.com">
<network host="auth.myhosting.com" port="587" userName="info@company.com" password="123456" defaultCredentials="false" />
</smtp>
</mailSettings>
答案 0 :(得分:1)
显然,在将网站发布到IIS时,您需要浏览一次该网站。它正在运作!