Отправка почты с использованием библиотеки взаимодействия C# без установки клиента Outlook
Я собираюсь отправить письмо с C# с помощью библиотеки взаимодействия outlook. Но проблема в том, что на машине prod не будет установлено программное обеспечение outlook.
- Есть ли способ отправки почты с использованием C# без установленного Outlook?
- Даже если он установлен, потребуется ли настройка учетной записи? 3.Можно ли указать адрес отправителя вручную вместо доступа к учетной записи outlook?
Примечание. Я не собираюсь использовать электронную почту на основе SMTP, поскольку отправленные письма не будут синхронизироваться с почтовым сервером.
Спасибо
2 ответа
Да, это возможно, используя только C#. пользователю не нужно устанавливать Outlook на клиентском компьютере.
C# предоставляет пространство имен System.Net.Mail
, Здесь есть все классы, необходимые для отправки почты из C#. Он не имеет никакой зависимости от OutLook. Посмотрите ниже фрагмент кода:
System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
message.To.Add("jeet@abc.come");
message.Subject = "This is the Subject line";
message.From = new System.Net.Mail.MailAddress("From@XYZ");
message.Body = "This is the message body";
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("**yoursmtphost**");
smtp.Send(message);
Вместо "yoursmtphost" вы также можете настроить IP-адрес компьютера.
Надеюсь, что это решает ваш запрос. Не забудьте пометить ответ, если сделано.
Вы можете легко использовать бесплатный SMTP-сервер Gmail и отправлять почту, используя свою учетную запись Gmail:
System.Net.Mail MailMessage message = new System.Net.Mail.MailMessage();
message.To.Add("yourfriend@yahoo.com");
message.Subject = "subject";
message.From = new System.Net.Mail.MailAddress("yourgmailaccount@gmail.com");
message.Body = "body";
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.gmail.com", 587);
smtp.Credentials = new System.Net.NetworkCredential("yourgmailaccount@gmail.com", "yourgmailpassword");
smtp.EnableSsl = true;
smtp.Send(message);