我知道如何在 C# 代码中通过 smtp 发送电子邮件
如果我设置了 gmail smtp,它在 localhost 中可以正常工作,但是当我上传并使其在线时,gmail (smtp.gmail.com) 设置不起作用。上传后我每次都必须在godaddy将设置更改为(relay-hosting.secureserver.net)
现在我的问题是!有什么办法可以找出我是在代码中还是在线的本地主机上然后动态更改设置我将我的设置存储在数据库中我的工作代码是
mm.LoadByPrimaryKey(4);//get body , subject etc from db
mc.LoadByPrimaryKey(1);// get settings from db (host, from , port etc)
var maTo = new MailAddress(strEmail, userName);
var mMailMessage = new MailMessage
{
Subject = mm.Subject,
Body = strBody,
IsBodyHtml = true,
Priority = MailPriority.High,
From =new MailAddress(mc.AdminEmailAddress),
DeliveryNotificationOptions= DeliveryNotificationOptions.OnFailure
};
mMailMessage.To.Add(maTo);
var mSmtpClient = new SmtpClient
{
UseDefaultCredentials = false,
Host = mc.Host,
Credentials = CredentialCache.DefaultNetworkCredentials,
DeliveryMethod = SmtpDeliveryMethod.Network};
mSmtpClient.Send(mMailMessage);
我不想每次都更改我的设置,无论是在线还是在本地主机环境中开发
我想要这个流程以及我如何知道我的应用程序在线或代码后面的本地主机
if(myconnection ==localhost) then fetch gmail credentials
else if (myconnection==online) then fetch godaddys credentials