问题描述
我有一个 G Suite 电子邮件,它使用的是我在 GoDaddy 上拥有的域。我也在 GoDaddy 上托管。我没有工作区电子邮件。我已经设置了所有 MX 记录。也就是说,我的 Gmail、Contact Form 7 和 GoDaddy 无法使用 SMTP。
我的 Web Api 项目中有以下代码。但我仍然无法发送邮件。它在我的本地主机上工作正常,但在 Godadddy 中托管后就不行了。
public async Task SendEmail(string email,string subject,string firstName,string contact)
{
try
{
string message = BuildMessageBody(firstName,email,contact);
using (var client = new SmtpClient())
{
var networkCredential = new NetworkCredential
{
UserName = _configuration["Email:Email"],Password = _configuration["Email:Password"]
};
client.UseDefaultCredentials = false;
client.Credentials = networkCredential;
client.Host = _configuration["Email:Host"];
client.Port = int.Parse(_configuration["Email:Port"]);
client.EnableSsl = true;
using (var emailMessage = new MailMessage())
{
emailMessage.To.Add(new MailAddress(email));
emailMessage.CC.Add(new MailAddress("my cc adddress"));
emailMessage.From = new MailAddress(_configuration["Email:Email"]);
emailMessage.Subject = subject;
emailMessage.Body = message;
emailMessage.IsBodyHtml = true;
emailMessage.BodyEncoding = System.Text.Encoding.UTF8;
emailMessage.SubjectEncoding = System.Text.Encoding.Default;
emailMessage.ReplyToList.Add(new MailAddress(_configuration["Email:Email"]));
client.SendCompleted += (s,e) => {
client.dispose();
emailMessage.dispose();
};
await client.SendMailAsync(emailMessage);
}
}
await Task.CompletedTask;
}
catch (Exception ex)
{
_appLogger.CreateLog("SendEmail - " + ex.Message);
}
}
我从godaddy网站上阅读
Sending mail through other providers isn't allowed,so you'll need to use the following settings:
Port: 25
SMTP Authentication: False or none
SSL or Secure Connection: None
Server or Host: The relay server you need to use depends on the type of hosting and script
string message = BuildMessageBody(value.toname,value.toemail,value.contact);
using (var client = new SmtpClient())
{
var networkCredential = new NetworkCredential
{
UserName = _configuration["Email:Email"],Password = _configuration["Email:Password"]
};
//client.Credentials = networkCredential;
client.Host = "relay-hosting.secureserver.net";
client.Port = 25;
using (var emailMessage = new MailMessage())
{
emailMessage.To.Add(new MailAddress(value.toemail));
emailMessage.CC.Add(new MailAddress(""));
emailMessage.From = new MailAddress(_configuration["Email:Email"]);
emailMessage.Subject = value.subject;
emailMessage.Body = message;
emailMessage.IsBodyHtml = true;
emailMessage.BodyEncoding = System.Text.Encoding.UTF8;
emailMessage.SubjectEncoding = System.Text.Encoding.Default;
emailMessage.ReplyToList.Add(new MailAddress(_configuration["Email:Email"]));
client.SendCompleted += (s,e) => {
client.dispose();
emailMessage.dispose();
};
await client.SendMailAsync(emailMessage);
await Task.Fromresult(0);
_appLogger.CreateLog("Passed Step 1 ");
}
但仍然无法使用它发送邮件。有什么想法吗?当我在谷歌上搜索这个问题时,很久以前就报告了这个问题,但是否有任何解决方案,或者这个问题在 Godaddy 中仍然存在?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)