Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我能';不要发电子邮件_C#_Smtp_Smtpclient - Fatal编程技术网

C# 我能';不要发电子邮件

C# 我能';不要发电子邮件,c#,smtp,smtpclient,C#,Smtp,Smtpclient,我在25587等不同端口上进行了尝试,我尝试将服务器更改为本地主机,并将usedaultcredentials设置为false,ssl设置为false 还是不行。它给了我一个错误:“电子邮件发送失败” 我创建了一个类来测试SMTP发送 class-SmtpTests { //正常端口25文本,465 SSL,587文本thn STARTSSL 受保护的静态log4net.ILog Log=log4net.LogManager.GetLogger(System.Reflection.MethodB

我在25587等不同端口上进行了尝试,我尝试将服务器更改为本地主机,并将
usedaultcredentials
设置为
false
ssl
设置为false

还是不行。它给了我一个错误:“电子邮件发送失败”


我创建了一个类来测试SMTP发送

class-SmtpTests
{
//正常端口25文本,465 SSL,587文本thn STARTSSL
受保护的静态log4net.ILog Log=log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
静态int连接超时=1300;
/// 
///测试SMTP服务器并尝试发送测试电子邮件
/// 
/// 
/// 
///服务器DNS名称
/// 
/// 
/// 
/// 
///发送给身体的信息
///详细日志
///恢复日志
///误差测井
///检查服务器中的SSL证书是否可接受
///尝试发送STARTTLS命令
/// 
公共静态bool scanstp(字符串登录、字符串密码、字符串服务器、int端口、bool forceSsl、,
字符串from,字符串to,字符串msg,
输出字符串日志、输出字符串恢复、输出字符串错误、,
bool checkcertificate=true,bool trystartssl=true)
{
#区域检查参数
log=Environment.NewLine;
错误=”;
resume=“”;
字符串_fromaddrstr=“”;
字符串_toaddstr=“”;
字符串_errorResume=$“[FAIL]Port={Port},Force SSL={forceSsl},try STARTSSL={trystartssl}”;
System.Net.Mail.MailAddress addr=null;
如果(!String.IsNullOrEmpty(登录))
{
if(String.IsNullOrEmpty(密码))
{
error=“如果登录不为空,则密码不能为空”;
日志+=”!!错误:“+错误;
resume=Environment.NewLine+$“[FAIL]”缺少“密码”+Environment.NewLine;
返回false;
}
}
尝试
{
addr=新系统.Net.Mail.MailAddress(发件人);
_fromaddrstr=地址地址;
}
抓住
{
error=“'from'电子邮件地址不正确。”;
日志+=”!!错误:“+错误;
resume=Environment.NewLine+$“[FAIL]”from“格式不正确>'{from}'”+Environment.NewLine;
返回false;
}
尝试
{
addr=新系统.Net.Mail.MailAddress(收件人);
_toaddrstr=地址地址;
}
抓住
{
error=“'to'电子邮件地址不正确。”;
日志+=”!!错误:“+错误;
resume=Environment.NewLine+$“[FAIL]”到“格式不正确>'{to}'”+Environment.NewLine;
返回false;
}
#端区
尝试
{
#区域支持变量
字符串_response=“”;
字符串msgfotter=“”;
StreamReader clearTextReader=null;
StreamWriter clearTextWriter=null;
StreamReader sslreader=null;
StreamWriter-sslwriter=null;
SslStream SslStream=null;
//根据checkcertificate的不同,值流可能会忽略证书错误
//类似:主机名不在证书中和证书链错误
SslStream GetSslStream(流内流)
{
如果(检查证书)
返回新的SSL流(内部流);
其他的
返回新的SSL流(
内流,
假,,
新的RemoteCertificateValidationCallback((s、c、h、e)=>true),
无效的
);
}
#端区
#区域支持内部方法
void exitror(字符串str、参考字符串日志、参考字符串错误)
{
_误差=str;
_log+=”!!错误:“+str+Environment.NewLine+Environment.NewLine;
如果(sslStream==null)
{
clearTextWriter.WriteLine(“退出”);
}
其他的
{
sslwriter.WriteLine(“退出”);
}
}
字符串AskReceive(字符串命令行、引用字符串\u日志)
{
如果(sslStream==null)
{
_log+=“>”+commandline+Environment.NewLine;
clearTextWriter.WriteLine(命令行);
字符串_str;
系统线程线程睡眠(200);
//而(!clearTextReader.EndOfStream)
//而(!String.IsNullOrEmpty(_str))
//    {
//系统线程线程睡眠(200);
////收益率_str;
//_str=clearTextReader.ReadLine();
//_log+=“<”+_str+Environment.NewLine;
//}
_str=clearTextReader.ReadLine();
_log+=“<”+\u str+Environment.NewLine;
返回_str;
}
其他的
{
_log+=“>”+commandline+Environment.NewLine;
sslwriter.WriteLine(命令行);
系统线程线程睡眠(200);
字符串_str=sslreader。
private void button4_Click(object sender, EventArgs e)
    {
        try
        {
            MailMessage myMsg = new MailMessage();
            myMsg.From = new MailAddress("@yahoo.com");
            myMsg.To.Add("@yahoo.com");
            myMsg.Subject = "Subject " + textBox1.Text;
            myMsg.Body = "Body " + textBox2.Text;

            // your remote SMTP server IP.
            SmtpClient smtp = new SmtpClient("smtp.mail.yahoo.com");
            smtp.Port = 465;
            smtp.UseDefaultCredentials = false;
            smtp.Credentials = new System.Net.NetworkCredential("@yahoo.com", "psw");
            smtp.EnableSsl = true;
            smtp.Send(myMsg);

        }
        catch (SmtpException ex)
        {
            MessageBox.Show("E-mail unsuccesful "+ ex);
        }
    }