[英]C# SMTP Access Problem
我正在使用庫使用C#
using System.Net.Mail;
using System.Windows;
我想在很多地方使用代碼,即。 地方A,地方B,地方C ...
當我在A處使用它時,它可以工作,並且郵件是從我的應用程序發送的。
但是當我在B處,C處使用它時...什么也沒發送,並且出現錯誤,我想知道如何解決它。
這是我的課:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Mail;
using System.Windows;
namespace Send_Mail_WPF_
{
class SendMail
{
private string fromAddress;
private string fromPassword;
private string toAddress;
private string msgSubject;
private string msgBody;
private string exchangeServer;
private int exchangeServerPort;
private bool error;
private MailMessage message;
SmtpClient client;
public SendMail(string fromMail, string toMail, string fromPass, string subject, string body)
{
error = false;
try
{
fromAddress = fromMail.ToString();
toAddress = toMail.ToString();
fromPassword = fromPass.ToString();
msgSubject = subject.ToString();
msgBody = body.ToString();
exchangeServer = @"smtp.tedata.net";
exchangeServerPort = 25;
initializeMessage();
setSMTPClient();
}
catch (System.Exception ex)
{
MessageBox.Show(ex.ToString());
errorFound = true;
}
}
public bool errorFound
{
set
{
error = value;
}
get
{
return error;
}
}
private void initializeMessage()
{
message = new MailMessage(fromAddress, toAddress);
message.Subject = msgSubject;
message.Body = msgBody;
message.IsBodyHtml = false;
}
private void setSMTPClient()
{
try
{
client = new SmtpClient(exchangeServer, exchangeServerPort);
client.EnableSsl = false;
client.Credentials = new NetworkCredential(fromAddress, fromPassword);
MessageBox.Show("From" + message.From.ToString());
message.From = new MailAddress("aaaaaaaa@aaaaaaaaaaaaa.com");
MessageBox.Show("From" + message.From.ToString());
Application.Current.Shutdown();
}
catch (System.Exception ex)
{
MessageBox.Show(ex.ToString());
errorFound = true;
}
}
public void sendMessage()
{
try
{
client.Send(message);
}
catch (System.Exception ex)
{
MessageBox.Show(ex.ToString());
errorFound = true;
}
}
}
}
我認為問題出在交換服務器上,但我不知道該如何解決。
編輯:
錯誤我從任何地方而不是地方A到達
在不同的地方,我認為您是指不同的機器。 問題可能出在DNS或代碼外部的其他問題。 測試SMTP連接的一種好方法是通過telnet到端口25上的smtp.tedata.net。我猜想它不起作用,這說明了為什么您的代碼也不起作用。 解決網絡問題后,請重試代碼。
您的代碼正常。 這可能是身份驗證問題。 與您的網絡管理員聯系。
不同的地方意味着不同的IP地址。
有時SMTP服務設置為僅在有限的IP池中工作。
在您的情況下,您的SMTP服務可能僅在場所A的IP地址中起作用,而在場所B和場所C中不起作用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.