C# 使用Google SMTP在Azure Webjob中发送电子邮件
我已经编写了一个简单的控制台应用程序,使用WebJobs从Azure发送测试电子邮件,但是当作业说它已成功运行时,电子邮件从未到达。该应用程序在本地运行时工作正常 代码如下:C# 使用Google SMTP在Azure Webjob中发送电子邮件,c#,azure,smtpclient,azure-webjobs,C#,Azure,Smtpclient,Azure Webjobs,我已经编写了一个简单的控制台应用程序,使用WebJobs从Azure发送测试电子邮件,但是当作业说它已成功运行时,电子邮件从未到达。该应用程序在本地运行时工作正常 代码如下: static void SendMail() { var smtp = new SmtpClient { Host = "smtp.gmail.com", Port = 587, EnableSsl =
static void SendMail()
{
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential("mygmail@gmail.com", "*********")
};
MailAddress to = new MailAddress("toemail@jaddress.net.nz");
MailAddress from = new MailAddress("fromemail@jaddress.net.nz");
MailMessage mail = new MailMessage(from, to);
mail.Subject = "Test Email";
mail.Body =
("This is a test @\n");
Console.WriteLine("Sending email...");
smtp.Send(mail);
Console.WriteLine();
}
}
我不知道如何在Azure中调试,因此无法了解发生了什么
谁能看出我做错了什么
干杯,
Kevin。默认情况下,Webjobs会将主函数签名作为入口点。这就像你经常使用的控制台。如果你把任何
控制台。写行,它也会输出
public class Program
{
public static void Main(string[] args)
{
//your code...
}
}
转到你的WebApp blade所有设置并向下滚动,你应该有一个Webjobs项目,并加载你的Webjob,现在双击日志列上的链接:
现在,您应该能够切换输出并查看webjob的控制台输出
如果在执行过程中有任何错误,它们应该在那里
如果无法查看日志链接,请尝试打开WebApp(顶部工具栏)中的“工具”部分,滚动到Kudu并打开它
然后转到工具>Webjobs仪表板。你的工作应该列在那里
编辑
看到报告的错误后,问题是Azure环境与您的计算机不同。谷歌可能基于来自未知来源的访问阻止了这种使用。检查您的手机,并尝试关闭。如果失败,请启用登录。尽管我建议您使用其他服务发送邮件,例如或甚至。您是否使用?不,只是一个控制台应用程序。您好,我的应用程序确实有一个主要功能,可以调用发送邮件功能。抱歉,因为我在您的代码中没有看到它,我不知道。如果你不放它,它不会触发任何代码。你看到输出上的控制台行了吗?这就是我看不到任何输出的地方。我转到门户网站上的webjob并运行它,然后弹出消息说它已成功完成。好的,我编辑了我的答案,以便您可以查看哪里可以检查输出。Hanks将尝试并返回报告。