我尝试使用SMTP发送电子邮件。
我在运行服务器端脚本的页面上有一个HTML表单(下面的代码)。两个Selects从SharePoint列表中获取选择。我并不相信代码是相关的,但我可以根据需要进行编辑和粘贴。
每当我点击表单上的提交时,我得到的是一封新电子邮件,显示在我的屏幕上,其中包含" Sample"在体内,没有其他字段填充。任何想法为什么会这样?
我知道我没有看到表单中的值,这不是问题。问题是我在C#方法中指定了To,From,Subject和Body,而没有看到电子邮件中的那些。
HTML表单
<div>
<table class="frm">
<th colspan="2" style="background-color: #e6e6e6; font-size: 2em">
<b>Helpdesk Ticket Form</b>
</th>
<tr>
<td>
<b>Subject</b>
</td>
<td>
<input type="text" id="subject" style="width: 96%;"></input>
</td>
</tr>
<tr>
<td>
<b>Urgency</b>
</td>
<td>
<select id="urgency" style="width: 100%;"></select>
</td>
</tr>
<tr>
<td>
<b>Impact</b>
</td>
<td>
<select id="impact" style="width: 100%;"></select>
</td>
</tr>
<tr>
<td>
<b>Description</b>
</td>
<td>
<textarea id="description" cols="40" rows="5"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<button id="A1" runat="server" onclick="SendEmail();">Submit</button>
</td>
</tr>
</table>
</div>
C#方法
public void SendEmail()
{
try
{
SmtpClient client = new SmtpClient("mysmtpclient");
client.UseDefaultCredentials = true;
MailAddress from = new MailAddress("MyEmail@email.com");
MailAddress to = new MailAddress("TheirEmail@email.com");
MailMessage message = new MailMessage(from, to);
message.Subject = "Test";
message.Body = "<b>Test message!</b>";
message.IsBodyHtml = true;
client.Send(message);
}
catch (Exception ex)
{
//it done broked
}
}