正在将SMTP发送网格转换为发送网格API



目前正在将旧的SMTP Sendgrid替换为API Sendgrid,我注意到它们的代码存在一些差异。但我在想,既然他们都是sendgrid,那就行了。我所做的就是在最后添加这个SendGridClient.SendEmailAsync(Message);。但上面写着

无法从system.net.mail.message转换为sendgrid.helpers.mail.sendgridmessageage

这是正确的转换方式吗?

下面是代码。

try
{
string SendGridKey = ConfigurationManager.AppSettings["SendGridKey"];
var SendGridClient = new SendGridClient(SendGridKey);
using (MailMessage MessageContent = new MailMessage())
{
MessageContent.From = new MailAddress(From);
MessageContent.To.Add(new MailAddress(To));
MessageContent.Subject = Subject;
MessageContent.Body = (TextBody);
ContentType mimeType = new System.Net.Mime.ContentType("text/html");
AlternateView Alternate = AlternateView.CreateAlternateViewFromString(HtmlBody, mimeType);
Message.AlternateViews.Add(Alternate);
if (AttachedFileName == true)
{
Attachment AttachedFile = new Attachment(HttpRuntime.AppDomainAppPath + "Path\" + AttachedFileName);
MessageContent.Attachments.Add(AttachedFile);
}
//using (SmtpClient Client = new SmtpClient())
//{
//    Client.EnableSsl = true;
//    Client.Send(MessageContent);
//}
SendGridClient.SendEmailAsync(Message);
}
return;
}

对于使用SendGrid API发送邮件,您需要创建com.SendGrid.Request对象。为java:添加代码

import com.sendgrid.Content;
import com.sendgrid.Email;
import com.sendgrid.Mail;
import com.sendgrid.Method;
import com.sendgrid.Request;
import com.sendgrid.SendGrid;
Email from = new Email("<FROM_EMAIL>");
String subject = "<SUBJECCT>";
Email to = new Email("<TO_EMAIL>");
Content content = new Content("text/plain", message);
Mail mail = new Mail(from, subject, to, content);
SendGrid sg = new SendGrid(SendGridKey);
Request request = new Request();
try {
request.setMethod(Method.POST);
request.setEndpoint("mail/send");
request.setBody(mail.build());
sg.api(request);
log.info("Main sent successfully");
} catch (IOException ex) {
log.info("Error while sending mail: {}", ex.toString());
}

最新更新