мне нужно отправить электронную почту от моего Asp.net C# сайта, мы хостинг на OVH, вот что я сделал:отправить письмо с SMTP-клиентом в C#
public static void Send(string stringFrom, string stringFromPass,
string stringTo, string stringBody, string stringSubject, int tryNb)
{
// Command line argument must the the SMTP host.
SmtpClient client = new SmtpClient("smtp.mondomaine.me", 587);
// Specify the e-mail sender.
// Create a mailing address that includes a UTF8 character
// in the display name.
MailAddress from = new MailAddress(stringFrom,
"Sender",
System.Text.Encoding.UTF8);
// Set destinations for the e-mail message.
MailAddress to = new MailAddress(stringTo);
// Specify the message content.
MailMessage message = new MailMessage(from, to);
message.Body = stringBody;
message.IsBodyHtml = true;
message.BodyEncoding = System.Text.Encoding.UTF8;
message.Subject = stringSubject;
message.SubjectEncoding = System.Text.Encoding.UTF8;
//provide Authentication Details need to be passed when sending email from gmail
string password = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(stringFromPass));
NetworkCredential mailAuthentication = new NetworkCredential(stringFrom, password);
client.UseDefaultCredentials = false;
client.Credentials = mailAuthentication;
// Set the method that is called back when the send operation ends.
client.SendCompleted += new
SendCompletedEventHandler(SendCompletedCallback);
// The userState can be any object that allows your callback
// method to identify this send operation.
// For this example, the userToken is a string constant.
string userState = stringFrom + "*&(k)&*" +
stringFromPass + "*&(k)&*" + stringTo + "*&(k)&*" +
stringBody + "*&(k)&*" + stringSubject + "*&(k)&*" + tryNb.ToString();
client.SendAsync(message, userState);
}
, а затем я звоню этот fonction когда это мне нужно. Я получаю OvH ответ сервера:
sorry, invalid MAIL FROM for open-smtp session (http://travaux.ovh.com/?do=details&id=2602)
на этом последнем звене они сказали, что:
messages sent via open-smtp will only be accepted if the email address of the fields From/Sender is the same connection login used for POP access.
Как вы видите, в моем коде я не использую POP и я не знаю, как. так почему это ограничение? Любая идея, как исправить это, будет значительно оценена.
Там не проблема с вашим кодом, электронная почта отправка прекрасно это конфигурация почтового сервера вам нужно разобраться, это, вероятно, неправильно настроен для SMTP. – James
Вы пробовали отлаживать код, также обертывающий этот код вокруг 'try {} catch {}' может привести к реальной проблеме подчеркивания – MethodMan
спасибо за ваш ответ, я увижу и попробую это. –