郵件發送在網站應用程式中經常會用到,包括您現在看到的部落格,在添加評論後,系統會自動發送郵件通知到我郵箱的,把系統發送郵件的功能整理了下,做了一個用戶端demo,希望對有需要的童鞋有所幫助:
核心代碼:
<code>001</code>
<code>using</code> <code>system;</code>
<code>002</code>
<code>using</code> <code>system.net;</code>
<code>003</code>
<code>using</code> <code>system.net.mail;</code>
<code>004</code>
<code>using</code> <code>system.text;</code>
<code>005</code>
<code>006</code>
<code>namespace</code> <code>hc.email</code>
<code>007</code>
<code>{</code>
<code>008</code>
<code> </code><code>/// <summary></code>
<code>009</code>
<code> </code><code>/// 整站郵件服務類</code>
<code>010</code>
<code> </code><code>/// </summary></code>
<code>011</code>
<code> </code><code>public</code> <code>class</code> <code>emailservice</code>
<code>012</code>
<code> </code><code>{</code>
<code>013</code>
<code> </code><code>/// <summary></code>
<code>014</code>
<code> </code><code>/// 發送郵件</code>
<code>015</code>
<code> </code><code>/// </summary></code>
<code>016</code>
<code> </code><code>/// <param name="mailto">收件人</code>
<code>017</code>
<code> </code><code>/// <param name="subject">主題</code>
<code>018</code>
<code> </code><code>/// <param name="body">内容</code>
<code>019</code>
<code> </code><code>/// <returns></returns></code>
<code>020</code>
<code> </code><code>public</code> <code>static</code> <code>bool</code> <code>send(</code><code>string</code> <code>mailto, </code><code>string</code> <code>subject, </code><code>string</code> <code>body)</code>
<code>021</code>
<code> </code><code>{</code>
<code>022</code>
<code> </code><code>return</code> <code>send(</code><code>new</code><code>[] {mailto}, </code><code>null</code><code>, subject, body, </code><code>true</code><code>, </code><code>null</code><code>);</code>
<code>023</code>
<code> </code><code>}</code>
<code>024</code>
<code>025</code>
<code>026</code>
<code>027</code>
<code>028</code>
<code>029</code>
<code>030</code>
<code>031</code>
<code>032</code>
<code> </code><code>public</code> <code>static</code> <code>bool</code> <code>send(</code><code>string</code><code>[] mailto, </code><code>string</code> <code>subject, </code><code>string</code> <code>body)</code>
<code>033</code>
<code>034</code>
<code> </code><code>return</code> <code>send(mailto, </code><code>null</code><code>, subject, body, </code><code>true</code><code>, </code><code>null</code><code>);</code>
<code>035</code>
<code>036</code>
<code>037</code>
<code>038</code>
<code>039</code>
<code>040</code>
<code>041</code>
<code>042</code>
<code>043</code>
<code> </code><code>/// <param name="attachmentspath">附件</code>
<code>044</code>
<code>045</code>
<code> </code><code>public</code> <code>static</code> <code>bool</code> <code>send(</code><code>string</code><code>[] mailto, </code><code>string</code> <code>subject, </code><code>string</code> <code>body, </code><code>string</code><code>[] attachmentspath)</code>
<code>046</code>
<code>047</code>
<code> </code><code>return</code> <code>send(mailto, </code><code>null</code><code>, subject, body, </code><code>true</code><code>, attachmentspath);</code>
<code>048</code>
<code>049</code>
<code>050</code>
<code>051</code>
<code>052</code>
<code>053</code>
<code>054</code>
<code>055</code>
<code> </code><code>/// <param name="mailccarray">抄送</code>
<code>056</code>
<code>057</code>
<code>058</code>
<code> </code><code>/// <param name="isbodyhtml">是否html</code>
<code>059</code>
<code>060</code>
<code>061</code>
<code> </code><code>public</code> <code>static</code> <code>bool</code> <code>send(</code><code>string</code><code>[] mailto, </code><code>string</code><code>[] mailccarray, </code><code>string</code> <code>subject,</code><code>string</code> <code>body, </code><code>bool</code> <code>isbodyhtml,</code>
<code>062</code>
<code> </code><code>string</code><code>[] attachmentspath)</code>
<code>063</code>
<code>064</code>
<code> </code><code>try</code>
<code>065</code>
<code> </code><code>{</code>
<code>066</code>
<code> </code><code>var config = confighelper.getconfig<emailconfig>();</code>
<code>067</code>
<code> </code><code>if</code> <code>(</code><code>string</code><code>.isnullorempty(config.host) ||</code><code>string</code><code>.isnullorempty(config.username) ||</code>
<code>068</code>
<code> </code><code>string</code><code>.isnullorempty(config.port) ||</code><code>string</code><code>.isnullorempty(config.password))</code>
<code>069</code>
<code> </code><code>{</code>
<code>070</code>
<code> </code><code>//todo:記錄日志</code>
<code>071</code>
<code> </code><code>return</code> <code>false</code><code>;</code>
<code>072</code>
<code> </code><code>}</code>
<code>073</code>
<code> </code><code>var @from = </code><code>new</code> <code>mailaddress(config.mailfrom); </code><code>//使用指定的郵件位址初始化mailaddress執行個體</code>
<code>074</code>
<code> </code><code>var message = </code><code>new</code> <code>mailmessage(); </code><code>//初始化mailmessage執行個體</code>
<code>075</code>
<code> </code><code>//向收件人位址集合添加郵件位址</code>
<code>076</code>
<code> </code><code>if</code> <code>(mailto != </code><code>null</code><code>)</code>
<code>077</code>
<code>078</code>
<code> </code><code>foreach</code> <code>(</code><code>string</code> <code>t </code><code>in</code> <code>mailto)</code>
<code>079</code>
<code> </code><code>{</code>
<code>080</code>
<code> </code><code>message.to.add(t);</code>
<code>081</code>
<code> </code><code>}</code>
<code>082</code>
<code>083</code>
<code>084</code>
<code> </code><code>//向抄送收件人位址集合添加郵件位址</code>
<code>085</code>
<code> </code><code>if</code> <code>(mailccarray != </code><code>null</code><code>)</code>
<code>086</code>
<code>087</code>
<code> </code><code>foreach</code> <code>(</code><code>string</code> <code>t </code><code>in</code> <code>mailccarray)</code>
<code>088</code>
<code>089</code>
<code> </code><code>message.cc.add(t);</code>
<code>090</code>
<code>091</code>
<code>092</code>
<code> </code><code>//發件人位址</code>
<code>093</code>
<code> </code><code>message.from = @from;</code>
<code>094</code>
<code>095</code>
<code> </code><code>//電子郵件的标題</code>
<code>096</code>
<code> </code><code>message.subject = subject;</code>
<code>097</code>
<code>098</code>
<code> </code><code>//電子郵件的主題内容使用的編碼</code>
<code>099</code>
<code> </code><code>message.subjectencoding = encoding.utf8;</code>
<code>100</code>
<code>101</code>
<code> </code><code>//電子郵件正文</code>
<code>102</code>
<code> </code><code>message.body = body;</code>
<code>103</code>
<code>104</code>
<code> </code><code>//電子郵件正文的編碼</code>
<code>105</code>
<code> </code><code>message.bodyencoding = encoding.default;</code>
<code>106</code>
<code> </code><code>message.priority = mailpriority.high;</code>
<code>107</code>
<code> </code><code>message.isbodyhtml = isbodyhtml;</code>
<code>108</code>
<code>109</code>
<code> </code><code>//在有附件的情況下添加附件</code>
<code>110</code>
<code> </code><code>if</code> <code>(attachmentspath != </code><code>null</code> <code>&& attachmentspath.length > 0)</code>
<code>111</code>
<code>112</code>
<code> </code><code>foreach</code> <code>(</code><code>string</code> <code>path </code><code>in</code> <code>attachmentspath)</code>
<code>113</code>
<code>114</code>
<code> </code><code>var attachfile = </code><code>new</code> <code>attachment(path);</code>
<code>115</code>
<code> </code><code>message.attachments.add(attachfile);</code>
<code>116</code>
<code>117</code>
<code>118</code>
<code> </code><code>try</code>
<code>119</code>
<code>120</code>
<code> </code><code>var smtp = </code><code>new</code> <code>smtpclient</code>
<code>121</code>
<code> </code><code>{</code>
<code>122</code>
<code> </code><code>credentials = </code><code>new</code> <code>networkcredential(config.username, config.password),</code>
<code>123</code>
<code> </code><code>host = config.host,</code>
<code>124</code>
<code> </code><code>port = convert.toint32(config.port)</code>
<code>125</code>
<code> </code><code>};</code>
<code>126</code>
<code>127</code>
<code> </code><code>//将郵件發送到smtp郵件伺服器</code>
<code>128</code>
<code> </code><code>smtp.send(message);</code>
<code>129</code>
<code>130</code>
<code> </code><code>return</code> <code>true</code><code>;</code>
<code>131</code>
<code>132</code>
<code> </code><code>catch</code> <code>(smtpexception ex)</code>
<code>133</code>
<code>134</code>
<code>135</code>
<code>136</code>
<code>137</code>
<code> </code><code>}</code>
<code>138</code>
<code> </code><code>catch</code> <code>(smtpexception ex)</code>
<code>139</code>
<code>140</code>
<code> </code><code>//todo:記錄日志</code>
<code>141</code>
<code> </code><code>return</code> <code>false</code><code>;</code>
<code>142</code>
<code>143</code>
<code>144</code>
<code> </code><code>}</code>
<code>145</code>
<code>}</code>
源代碼下載下傳