C#发送 Mail 小程序

这2天换了一个部门,部长要求每天下班前用Mail给他发工作报告,简要说一下当天的工作,写了2天以后感觉每天都要排版、填写收件人这些信息等等等等。。。。实在是太麻烦了~~~,就写了一个小程序处理这些内容,我只管填写工作内容,然后点一下按钮就行了。

语言:VS2005.NET C#

以下是代码:

 1、DailyReport.cs


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net.Mail;

namespace DailyReport
{
    
public partial class DailyReport : Form
    
{
        
string sendBodyTxt = "工作报告\n\t";

        
DailyReport

        
private void btnSend_Click( object sender, EventArgs e )
        
{
            
try
            
{
                
if( txtFrom.Text.Length == 0 )
                
{
                    
return;
                }


                
if( txtTo.Text.Length == 0 )
                
{
                    
return;
                }


                
if( txtBody.Text.Length == 0 )
                
{
                    
return;
                }


                MailAddress from 
= new MailAddress( txtFrom.Text, "yourname" );
                MailAddress to 
= new MailAddress( txtTo.Text );
                MailMessage message 
= new MailMessage( from, to );
                MailAddress copy 
= new MailAddress( txtFrom.Text );

                
// 获取包含此电子邮件的抄送 (CC) 收件人的地址集合。
                message.CC.Add( copy );

                
// 获取或设置此电子邮件的主题行。
                message.Subject = DateTime.Now.ToString( "yyyy-MM-dd" ) + " 工作报告";

                
/*邮件内容以句号为分割点来形成行。这部分可以自己来写算法。
                 * 例如:看书。学习。打游戏。
                 * 1、看书
                 * 2、学习
                 * 3、打游戏
                 
*/

                
string[] txtBodys = txtBody.Text.Split( new string[] "" }, StringSplitOptions.RemoveEmptyEntries );

                
if( txtBodys.Length == 0 )
                
{
                    sendBodyTxt 
+= "1、 " + txtBodys[ 0 ];
                }

                
else
                
{
                    
forint i = 0; i < txtBodys.Length; i++ )
                    
{
                        sendBodyTxt 
+= Convert.ToString( i + 1 ) + "、 " + txtBodys[ i ] + "\n\t";
                    }

                }


                
// 获取或设置邮件正文。
                message.Body = sendBodyTxt;

                
// 获取或设置用于邮件正文的编码。
                message.BodyEncoding = Encoding.UTF8;

                
// 获取或设置此电子邮件的优先级。
                message.Priority = MailPriority.Normal;

                
// 初始化 SmtpClient 类的新实例,让其使用指定的 SMTP 服务器发送电子邮件。 
                
// 参数:包含用于 SMTP 事务的主机的名称或 IP 地址。
                SmtpClient client = new SmtpClient( "163.com" );

                
// Include credentials if the server requires them。
                client.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;

                
// 已重载。 将电子邮件发送到 SMTP 服务器以便传递。这些方法在传输邮件的过程中将阻止其他操作。 
                client.Send( message );

                labResult.Text 
= "Success";
            }

            
catch( Exception ex )
            
{
                labResult.Text 
= ex.Message;
            }

        }

    }

}

 

 2、DailyReport.Designer.cs

 

namespace DailyReport
{
    
partial class DailyReport
    
{
        
/// <summary>
        
/// 
        
/// </summary>

        private System.ComponentModel.IContainer components = null;

        
/// <summary>
        
/// 
        
/// </summary>
        
/// <param name="disposing"></param>

        protected override void Dispose( bool disposing )
        
{
            
if( disposing && ( components != null ) )
            
{
                components.Dispose();
            }

            
base.Dispose( disposing );
        }


        
Windows生成

        
private System.Windows.Forms.TextBox txtTo;
        
private System.Windows.Forms.Button btnSend;
        
private System.Windows.Forms.Label label1;
        
private System.Windows.Forms.Label label2;
        
private System.Windows.Forms.TextBox txtFrom;
        
private System.Windows.Forms.Label label3;
        
private System.Windows.Forms.TextBox txtBody;
        
private System.Windows.Forms.Label labResult;
        
private System.Windows.Forms.Button button1;
    }

}


 

 

posted @ 2008-07-22 17:00  不羁  阅读(619)  评论(0编辑  收藏  举报