próbuję wysłać wiadomość e-mail za pomocą gmail SMTP w C# przy użyciu kodu poniżejWyślij e-mail za pośrednictwem gmail SMTP
MailMessage message = new MailMessage();
message.To.Add("my email");
message.Subject = "subject";
message.From = new MailAddress("any email");
message.Body = "body";
message.Attachments.Add(new System.Net.Mail.Attachment(path));
SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
smtp.EnableSsl = true;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new System.Net.NetworkCredential("my user", "my pass");
smtp.Send(message);
Kiedy odbierać wiadomości e-mail, pole OD jest wypełniona my user
. Używam UseDefaultCredentials
jako false
. Kiedy patrzę na wynik, pole FROM jest wypełnione my user
. Czy pole FROM nie powinno być wypełnione przez ? Jak mogę wysłać wiadomość e-mail, używając adresu nadawcy?
Myślę, że jest to sposób, w jaki GMail kontroluje korzystanie ze swojej usługi SMTP. Jeśli ktoś mógłby wysyłać pocztę do kogoś innego za pośrednictwem Gmaila, spamerzy będą tam gromadzić. W ten sposób wszystkie wiadomości e-mail wysyłane "w imieniu użytkownika" pochodzą od ciebie (= "mój użytkownik"). – n8wrl
Zrobiłem to już w programie JAVA ... wiele lat temu! :( – Victor
Czy masz szansę sprawdzić pełne źródło otrzymywanej wiadomości e-mail? Powinno to być "Od: każda wiadomość e-mail" i "Nadawca: mój użytkownik zamiast". Aplikacja, z której widzisz e-mail, może przedstawiać Nadawcę jako jeśli jest From i powoduje zamieszanie –