zoukankan      html  css  js  c++  java
  • 利用Sharepoint指定From发送邮件


    protected
    void bt_SendMail_Click(object sender, EventArgs e) { string result = sendSalaryMail(); lbResult.Text = result; } private string sendSalaryMail() { #region varian StringBuilder sbResult = new StringBuilder(); string tmpId = tb_TempId.Text; string emailFrom = string.Empty; string emailTitle = string.Empty; string emailBody = string.Empty; string folderPath = string.Empty; string filePath = string.Empty; int iSuccess = 0; int iTotal = 0; sbResult.Append(System.DateTime.Now.ToString()); //Set value if (string.IsNullOrEmpty(tmpId)) { tmpId = "SALARY"; } SPListItem mailTemp = getItemByTempID(tmpId); if (mailTemp == null) { sbResult.Append("<div style='color:red'>Cannot get the mail template '" + tmpId + "'.</div>"); return sbResult.ToString(); }
           //set file address folderPath
    = @"E:BatterTFSS"; emailTitle=Convert.ToString(mailTemp["EmailTitle"]); emailFrom = Convert.ToString(mailTemp["MailFrom"]); emailBody=Convert.ToString(mailTemp["MailBody"]); #endregion try { using (SPSite site = new SPSite(SPContext.Current.Web.Url)) { using (SPWeb web = site.OpenWeb()) { SPList list = web.Lists["UserList"]; SPListItemCollection items = list.Items; iTotal = items.Count; foreach (SPListItem item in items) { string mailTo = Convert.ToString(item["Email"]); string var1 = Convert.ToString(item["Var1"]); string var2 = Convert.ToString(item["Var2"]); string var3 = Convert.ToString(item["Var3"]); string htmlBodyContent = emailBody.Replace("{Var1}", var1).Replace("{Var2}", var2).Replace("{Var3}", var3); filePath = folderPath + "xxx"+var1+".doc"; using (var message = new MailMessage()) { SPWebApplication webApp = web.Site.WebApplication; message.Subject = emailTitle; message.From = new MailAddress(emailFrom); message.To.Add(mailTo); AlternateView htmlBody = AlternateView.CreateAlternateViewFromString(htmlBodyContent, null, "text/html"); try { Attachment myAttachment = new Attachment(filePath); message.Attachments.Add(myAttachment); } catch (Exception ex) { sbResult.Append("<div style='color:Red'>To: " + mailTo + " Error! " + ex.Message + "</div><br />"); continue; } message.AlternateViews.Add(htmlBody); var smtpClient = new SmtpClient { Host = webApp.OutboundMailServiceInstance.Server.Name, UseDefaultCredentials = true, DeliveryMethod = SmtpDeliveryMethod.Network }; try { smtpClient.Send(message); sbResult.Append("<div style='color:blue'>To: " + mailTo + " Success!</div>"); iSuccess++; } catch (Exception ex) { sbResult.Append("<div style='color:Red'>To: " + mailTo + " Error! " + ex.Message + "</div><br />"); } } } } } } catch (Exception ex) { sbResult.Append(ex.Message); } sbResult.Append(string.Format("Success: {0} Total: {1}<br />",iSuccess,iTotal)); sbResult.Append(System.DateTime.Now.ToString()); return sbResult.ToString(); ; } private SPListItem getItemByTempID(string tempId) { SPListItem item = null; SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite site = new SPSite(SPContext.Current.Web.Url)) { site.AllowUnsafeUpdates = true; using (SPWeb web = site.OpenWeb()) { web.AllowUnsafeUpdates = true; SPList list = web.Lists["Template"]; if (list != null) { SPQuery query = new SPQuery(); query.Query = string.Format("<Where><Eq><FieldRef Name="Title" /><Value Type="Text">{0}</Value></Eq></Where>", tempId); query.RowLimit = 1; SPListItemCollection items = list.GetItems(query); if (items != null) { if (items.Count == 1) { item = items[0]; } } } web.AllowUnsafeUpdates = false; } } }); return item; } }
    <style type="text/css">
        .sendSalaryMail {
            margin-left: 20px;
        }
    
        .trainingtitle {
            color: rgb(125, 10, 60);
            font-size: 16px;
            margin-bottom: -10px;
            font-weight: bold;
            margin-bottom: 5px;
        }
    
        .colTitle {
            font-weight: bold;
            color: Black;
        }
    </style>
    <div class="sendSalaryMail">
        <div class="trainingtitle">Send E-Mail <b>-- Only xxx can click!! </b></div>
        <br />
        <div class="colTitle">Email Template ID: </div>
        <asp:TextBox ID="tb_TempId" runat="server" Width="340px"></asp:TextBox><div>Defalut is "xxx"</div>
        <br />
        <div class="colTitle">Has File: <asp:CheckBox ID="cb_HasFile" runat="server" Text="Yes" /></div>
        <br />
        <asp:Button ID="bt_SendMail" runat="server" Text="Send xx xx" Height="50px"
            Width="350px" OnClick="bt_SendMail_Click" /><br />
        <div style="margin-top: 10px;">
            <asp:UpdatePanel runat="server" ID="UpdatedPanel1" UpdateMode="Conditional">
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="bt_SendMail" />
                </Triggers>
                <ContentTemplate>
                    <fieldset style="border: none; padding: 0px">
                        <asp:Label ID="lbResult" runat="server" ForeColor="#0000CC" Font-Size="Medium"></asp:Label>
                    </fieldset>
                </ContentTemplate>
            </asp:UpdatePanel>
        </div>
    </div>
  • 相关阅读:
    实验综合-2021.1.31
    利用文件上传漏洞远程控制服务器
    [转载]文件上传漏洞
    第五周学习视频(二)
    第五周学习视频(一)
    第四周——上课笔记(二)
    第四周——上课笔记(一)
    第四周学习视频(一)
    mooc视频笔记(哈工大)第4讲-关系模型之关系代数
    第三周学习视频(二)
  • 原文地址:https://www.cnblogs.com/batter152/p/4250931.html
Copyright © 2011-2022 走看看