Не понимаю, как интегрировать Gmail API с помощью .NET Framework в vs2017. Я хотел отправить входные данные веб-формы на электронную почту пользователя. - PullRequest
0 голосов
/ 06 января 2019

Официальная документация по API Gmail ужасна. Не понимаю, как интегрировать Gmail API с помощью .NET Framework в vs2017. Я хотел отправить входные данные веб-формы на электронную почту пользователя.

1 Ответ

0 голосов
/ 06 января 2019

Это будет трехступенчатый процесс -

  1. Определите шаблон HTML, который описывает, как должна быть представлена ​​ваша почта.

  2. Напишите небольшой код c # для замены всех заполнителей, таких как поля формы, имя пользователя и т. Д.

     private string createEmailBody(string userName, string title, string message)  
    
    {  
    
    string body = string.Empty;  
    //using streamreader for reading my htmltemplate   
    
    using(StreamReader reader = new StreamReader(Server.MapPath("~/HtmlTemplate.html")))  
    
    {  
    
        body = reader.ReadToEnd();  
    
    }  
    
    body = body.Replace("{UserName}", userName); //replacing the required things  
    
    body = body.Replace("{Title}", title);  
    
    body = body.Replace("{message}", message);  
    //// Instead of message add you own parameters.
    
    return body;  
    

    }

  3. Когда форма отправлена, сначала наберите код шага 2. Затем используйте его вывод для установки почтового тела.

Код будет что-то вроде -

string smtpAddress = "smtp.gmail.com";
int portNumber = 587;
bool enableSSL = true;

/// This mail from can just be a display only mail I'd 
string emailFrom = "no-reply@gmail.com";

string subject = "your subject";
string body = createEmailBody();

using (MailMessage mail = new MailMessage())
{
mail.From = new MailAddress(emailFrom);
mail.To.Add(emailTo);
/// Add more to IDs if you want to send it to multiple people.

mail.Subject = subject;
mail.Body = body;
mail.IsBodyHtml = true;
// This is required to keep formatting of your html contemts

/// Add attachments if you want, this is optional
mail.Attachments.Add(new Attachment(yourfilepath));


   using (SmtpClient smtp = new SmtpClient(smtpAddress, portNumber))
    {
    smtp.Credentials = new NetworkCredential(your-smtp-account-email, your-smtp-account-password);
    smtp.EnableSsl = enableSSL;
    smtp.Send(mail);
    }
}

См. Эту ссылку для рабочего примера

https://www.c -sharpcorner.com / UploadFile / 33b051 / отправка почты-с-HTML-шаблон /

РЕДАКТИРОВАТЬ: Для использования GMail API Для использования API-интерфейсов GMAIL вам понадобятся два пакета nuget: 1. Установить-пакет Google.Apis.Gmail.v1 2. Install-пакет AE.Net.Mail

Код очень похож на тот, который мы имеем для обычной отправки почты SMTP. Объясняется по адресу: http://jason.pettys.name/2014/10/27/sending-email-with-the-gmail-api-in-net-c/

...