使用 C# 发送电子邮件(Cpanel 托管)

问题描述 投票:0回答:3

我购买了一台cPanel主机,SMTP服务器信息是:

info

这是我的代码:

string smtpAddress = "mandane.hostcream.com";
int portNumber = 465;
bool enableSSL = true;
string emailFrom = "[email protected]";
string password = Authenitication.PassWord;
string emailTo = To.Text;
string subject = Subject.Text;
string body = Body.Text;

using (MailMessage mail = new MailMessage())
{
    mail.From = new MailAddress(emailFrom);
    mail.To.Add(emailTo);
    mail.Subject = subject;
    mail.Body = body;
    mail.IsBodyHtml = true;

    using (SmtpClient smtp = new SmtpClient(smtpAddress, portNumber))
    {
        smtp.Credentials = new NetworkCredential(emailFrom, password);
        smtp.EnableSsl = enableSSL;
        smtp.Send(mail);
    }
}

当我运行代码并在 1 或 2 分钟后单击发送按钮时,会出现以下情况:

附加信息:发送邮件失败。

我做错了什么?

c# email smtp
3个回答
4
投票

我想你错过了一些东西,试试这个:

SmtpClient smtpClient = new SmtpClient();
NetworkCredential smtpCredentials = new NetworkCredential("email from","password");

MailMessage message = new MailMessage();
MailAddress fromAddress = new MailAddress("email from");
MailAddress toAddress = new MailAddress("email to");

smtpClient.Host = "smpt host address";
smtpClient.Port = your_port;
smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = smtpCredentials;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.Timeout = 20000;

message.From = fromAddress;
message.To.Add(toAddress);
message.IsBodyHtml = false;
message.Subject = "example";
message.Body = "example";

smtpClient.Send(message);

0
投票

您似乎无法在端口

465
上访问 Yahoo 地址,请先检查该地址是否可达,因为这似乎是网络问题。


0
投票

没有任何行为,简单的 cPanel 不允许使用菜单上的应用程序。您可以通过以下方式获取电子邮件地址:hhts:webmail.tudomimio.com 或 mirosoft Outlook,可以找到与此相关的解决方案并解决该问题。 que me ha fucncionado a mi。 Prueba con el puerto 587 o con el 26 a mi me fucnciona con ambos, el único Problema es cuando lo Consultes por la web no veras los correos enviadaos, pero sí se habran enviado a los detinatarios.

© www.soinside.com 2019 - 2024. All rights reserved.