¡¡¡¡
Õª Òª£º±¾Îļòµ¥²ûÊöÁË·¢Ë͵ç×ÓÓʼþµÄÔÀí£¬Ìá³öÁËÒ»ÖÖ»ùÓÚC++ BuilderºÍAccess2000Êý¾Ý¿âÀ´ÊµÏÖµç×ÓÓʼþȺ·¢µÄ·½·¨£¬Ïêϸ½éÉÜÁËC++ Builder ÖÐTIdSMTP×é¼þµÄʹÓ㬲¢¸ø³öÁËÓÃTIdSMTP×é¼þʵÏÖȺ·¢µÄºËÐÄʾÀý´úÂë¡£
¡¡¡¡
¹Ø¼ü´Ê£ºµç×ÓÓʼþȺ·¢£»ÈÏÖ¤£»TIdSMTP£»TIdMessage£»ADO
¡¡¡¡
ÒýÑÔ¡¡¡¡ ÓʼþȺ·¢ÕâÒ»Êֶα»¹ã·ºÓ¦ÓÃÓÚµç×ÓÉÌÎñ¡¢ÍøÂçÓªÏúÖУ¬ÀýÈçÎÒÃÇÏÖÔÚÄܹ»Í¨¹ýchnia-pub.com£¨»¥¶¯³ö°æÍø£©µÄÊéѶȺ·¢ÓʼþÁ˽⵽µ±Ç°ÐÂÊéµÄ×ÊѶ£¬¾Ýͳ¼ÆÔÚÃÀ¹úÓг¬¹ý70£¥µÄInternetÓû§µÄÔÚÏß¹ºÎïÐÐΪҪ¹é¹¦ÓÚEmailÓªÏú£¬ÁíÍâÄÇЩ½¨ÉèÁ˾ÖÓòÍøµÄµ¥Î»Ò²¿ÉÒÔͨ¹ýÓʼþȺ·¢À´·¢ËÍ֪ͨ»ò´«´ïÎļþ£¬ÕâÑùÄܹ»½ÚÊ¡´óÁ¿µÄÈËÁ¦ÎïÁ¦¶øÇÒ·½±ãѸËÙ¡£±¾Îļòµ¥½éÉÜÁË·¢Ë͵ç×ÓÓʼþµÄÔÀí£¬Ìá³öÁËÒ»ÖÖ»ùÓÚC++BuilderºÍAccess2000Êý¾Ý¿âʵÏÖµç×ÓÓʼþȺ·¢µÄ·½·¨£¬Ïêϸ½éÉÜÁËC++Builder ÖÐTIdSMTP×é¼þµÄʹÓ㬲¢¸ø³öÁËÓÃTIdSMTP×é¼þʵÏÖȺ·¢µÄºËÐÄʾÀý´úÂë¡£
¡¡¡¡
·¢Ë͵ç×ÓÓʼþµÄÔÀí¡¡¡¡ 1¡¢SMTPÐÒé
¡¡¡¡ SMTPÐÒéÊÇIETF(Internet Engineering Task Force)ÖÆ¶©µÄÓйصç×ÓÓʼþϵͳµÄ±ê×¼ÐÒé×éÖеÄÒ»Ô±£¬ËüµÄÄ¿µÄ¾ÍÊÇʵÏÖÓÐЧ£¨efficiently£©ºÍ¿É¿¿µÄ£¨reliably£©Óʼþ´«Ê䣬Ö÷Òª¶ÔÔõÑù½«µç×ÓÓʼþ´Ó·¢ËÍ·½µØÖ·´«Ë͵½½ÓÊÕ·½µØÖ·£¬Ò²¾ÍÊǶԴ«ÊäµÄ¹æÔò×öÁ˹涨¡£SMTPÐÒéÖеÄÖ÷Òª½ÇÉ«ÊÇSMTP·¢ÐÅ»úºÍSMTPÊÕÐÅ»ú£¬µ«ÊÇÒ»¸öSMTP·þÎñÆ÷¿ÉÄܼæÓÐÁ½ÖÖ½ÇÉ«¡£SMTPÐÒé²ÉÓÃÁËÒ»×é¼òµ¥µÄÃüÁîÀ´½¨Á¢Á¬½Ó²¢ÔÚÖ÷»úÖ®¼ä´«ËÍÃüÁîºÍÊý¾Ý¡£SMTP·¢ÐÅ»úÏòSMTPÊÕÐÅ»ú·¢³öSMTPÃüÁÈ磺"MAIL FROM£º <mybox@hunau.net>"¾ÍÊǸæÖªSMTPÊÕÐÅ»úÓʼþµÄÀ´Ô´£¬´ýÊÕµ½ÃüÁîºóSMTPÊÕÐÅ»úÔò»áÏìÓ¦Ó¦´ðSMTPÃüÁ¼´»á·µ»ØÒ»¸öÓ¦´ðÂ룬Ӧ´ðÂëÒ»°ãΪһ¸öÈýλµÄÊ®½øÖÆÊý£¬¶øÇÒÿһ¸öÊý¶¼ÓÐÌØ¶¨º¬ÒåµÄ£¬ÀýÈç·µ»Ø"250"±íʾҪÇóµÄÓʼþ²Ù×÷Íê³É¡£ÆäËûµÄSMTPÃüÁîºÍÓ¦´ðÂëÔÚRFC821ÖÐÓÐÏêϸµÄÃèÊö£¬´Ë´¦²»ÔÙ׸Êö¡£
¡¡¡¡ 2¡¢ESMTPÐÒé
¡¡
¡¡¡¡ Ŀǰ£¬ÎªÁË·ÀÖ¹ÍøÂçÉÏÀ¬»øÓʼþµÄ·ºÀÄ£¬¼¸ºõËùÓеÄÓʼþ·þÎñÌṩÉ̶¼ÔÚÔÀ´µÄSMTP·þÎñÆ÷ÉÏ×·¼ÓÁËÈÏÖ¤¹¦ÄÜ£¬µ«Êµ¼ÊÉÏSMTPÐÒé±¾Éí²¢²»¾ßÓÐÈÏÖ¤µÄ¹¦ÄÜ£¬ÔÚ1999Äê3Ô³ǫ̈µÄSMTP·þÎñÈÏÖ¤¹¦ÄÜÀ©Õ¹£¨SMTP Service Extension for Authentication£¬RFC2544£©£¬¼´ESMTPÖвŶ¨ÒåÁËÔõÑùÔÚSMTP¿Í»§¶ËÓë·þÎñÆ÷Ö®¼äÀ´½¨Á¢Ò»ÖÖÈÏÖ¤»úÖÆ£¬Ö´ÐÐÈÏÖ¤ÐÒéµÄ½»»»£¬Í¬Ê±À©Õ¹Ò²ÎªÒÔºóµÄÐÒé½»»¥½øÐÐÁ˰²È«²ãµÄÐÉÌ¡£¸ÃÀ©Õ¹ÊǼòµ¥ÈÏÖ¤ºÍ°²È«²ã£¨Simple Authentication and Security Layer£¬SASL£©µÄÒ»¸ö·½Ãæ¡£
¡¡¡¡ SMTPÈÏÖ¤¹¦ÄܵÄÀ©Õ¹Êµ¼Êʵ¼ÊÉÏÊÇÔö¼ÓÁËAUTHÃüÁAUTHÃüÁîµÄÈÏÖ¤·½Ê½Ö÷ÒªÓÐLOGIN¡¢CRAM-MD5ºÍPLAINµÈ¼¸ÖÖ£¬ÎÒ¹úĿǰʹÓõñȽ϶àµÄÊÇLOGIN·½Ê½ÈÏÖ¤¡£SMTPÈÏÖ¤Ò»°ãÊÇÔÚ·¢ËÍÓʼþ֮ǰ½øÐÐÒ»´Î£¬²ÉÓÿÚÁî-Ó¦´ð(Challenge-Response)·½Ê½£¬¼´ÓÉ·þÎñÆ÷·¢ËÍÃüÁîÒªÇó¿Í»§¶Ë»Ø´ð£¬¿Í»§¶Ë¸ù¾Ý·þÎñÆ÷·¢ËÍÐÅÏ¢½øÐлشð£¬Èç¹ûÓ¦´ðͨ¹ýÁË£¬ÔòÈÏÖ¤³É¹¦£¬¼´¿É¼ÌÐøÏÂÒ»²½´¦Àí¡£
¡¡¡¡
ÓÃC++BuilderʵÏÖÓʼþȺ·¢¡¡¡¡ 1¡¢×ÜÌåÉè¼Æ
¡¡¡¡ ҪʵÏÖÓʼþȺ·¢£¬ÎÒÃÇÊ×ÏÈÐèҪʵÏÖÓëSMTP·þÎñÆ÷Á¬½Ó£¬È»ºó²ÅÄÜͨ¹ýSMTP·þÎñÆ÷·¢ËÍÓʼþ£¬ÓÉÓÚSMTP·þÎñÆ÷¿ÉÄÜÐèÒªÉí·ÝÈÏÖ¤ËùÒÔÎÒÃÇÒª±àдʵÓõÄÓʼþȺ·¢Èí¼þ»¹±ØÐëʹÆä¾ßÓÐSMTPÈÏÖ¤µÄ¹¦ÄÜ¡£ÎÒÃÇ¿ÉÒÔͨ¹ýC++BuilderÖеÄTIdSMTP×é¼þÀ´ÊµÏÖÓëSMTP·þÎñÆ÷µÄÈÏÖ¤¡¢Á¬½ÓºÍÓʼþµÄ·¢ËÍ¡£Í¨¹ý±àд´úÂëÑ»·¶ÁÈ¡ÓʼþµØÖ·ÁÐ±í£¨Mail List£©ÖеÄÓʼþµØÖ·²¢·¢ËÍÓʼþ´Ó¶øÊµÏÖȺ·¢¡£¿¼Âǵ½¹ÜÀíºÍ»ñÈ¡ÓʼþµØÖ·µÄ·½±ãÐÔ£¬µØÖ·ÁÐ±í´æ´¢µÄ°²È«ÐÔÒÔ¼°»ùÓÚ¸ÃÓʼþµØÖ·ÁбíµÄÆäËûÏà¹ØÓ¦ÓóÌÐòµÄ¿ª·¢ÎÒÃÇ¿ÉÒÔ²ÉÓÃAccess2000Êý¾Ý¿âÀ´´æ´¢ÓʼþµØÖ·ÁÐ±í£¬ÀûÓÃC++BuilderÖеÄTADOTable×é¼þÎÒÃÇ¿ÉÒÔʹÓÃADO·½Ê½ÇáËɵÄʵÏÖ¶ÔAccess2000Êý¾Ý¿âµÄÖ±½Ó·ÃÎʺ͸÷ÖÖ²Ù×÷¡£
¡¡¡¡ 2¡¢ÓʼþµØÖ·Êý¾Ý¿âADO·½Ê½·ÃÎÊʾÀý
¡¡¡¡ C++BuilderÔÚÊý¾Ý¿â´¦Àí·½ÃæÏòÀ´ÊǾßÓÐ×Ô¼ºµÄÓÅÊÆ£¬Ò»°ãÎÒÃǶ¼²ÉÓÃBorlandµÄÇ¿´óµÄBDEÊý¾Ý¿âÒýÇæÀ´·ÃÎʺÍά»¤Êý¾Ý¿â£¬µ«ÊÇʹÓÃBDEÒýÇæÓÐÒ»¸ö·Ç³£²»·½±ãµÄµØ·½¾ÍÊDz»ÄÜÔÚ³ÌÐòÔËÐн׶ζ¯Ì¬Ö¸¶¨Êý¾ÝÔ´£¬¶ø²ÉÓÃADO£¨ActiveX Data Objects£©·½Ê½¾ßÓиßÐÔÄÜ¡¢¸ß¼æÈÝÐԺ͸ßÁé»îÐÔµÄÌØµã¡£²ÉÓÃADO·½Ê½ÎÒÃǼȿÉÒÔÔÚ³ÌÐòÉè¼Æ½×¶ÎÖ¸¶¨Êý¾ÝÔ´Ò²¿ÉÒÔÔÚÔËÐÐʱ¶¯Ì¬ÐÞ¸ÄÊý¾ÝÔ´£¬¶øÔÚʵ¼ÊÓ¦ÓÃÖÐÓû§¿ÉÄÜ»áÒª¶¯Ì¬µÄÖ¸¶¨´æ´¢ÓʼþµØÖ·µÄÊý¾Ý¿â£¬ÎªÁËʹ±àдµÄȺ·¢³ÌÐò¾ßÓиüºÃµÃʵÓÃÐÔ£¬ËùÒÔÎÒÑ¡ÔñʹÓÃC++BuilderÖеÄADO×é¼þTADOTableÀ´·ÃÎʺͲÙ×÷Access2000Êý¾Ý¿â£¬¾ßÌåʾÀý´úÂëÈçÏ£º
Void __fast call TForm1: N_OpenClick (TObject *Sender)
{
¡¡ AnsiString ConnStr;
¡¡ Try {ADOTable1->Active = false;
¡¡ OpenDialog1->InitialDir =".\\" ; //³õʼ»¯´ò¿ª¶Ô»°¿ò
¡¡ OpenDialog1->Filter = "MDBÓʼþÁбíÎļþ (*.mdb)|*.mdb|ËùÓÐÎļþ (*.*)|*.*";
¡¡ OpenDialog1->DefaultExt = String("mdb");
¡¡ if(OpenDialog1->Execute ())//¶¯Ì¬Ö¸¶¨Êý¾ÝÔ´
¡¡ {
¡¡¡¡ ConnStr=" Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB: Database Password =" + MaskEdit1->Text. Trim () + "; Data Source = " + OpenDialog1-> Filename. Trim () +"; Persist Security Info=True";
¡¡¡¡ ADOTable1->Connection String =ConnStr.Trim ();
¡¡¡¡ ADOTable1->Active=true;
¡¡ }
¡¡ Catch (Exception &exception)
¡¡ {
¡¡¡¡ Application->Show Exception (&exception);
¡¡ }
}
¡¡¡¡ ×¢Òâ´úÂëÖмӴֵIJ¿·ÖÊDZØÐëµÄ£¬ÔÚ·ÃÎÊÓÐÃÜÂë±£»¤µÄAccess2000Êý¾Ý¿âʱ±ØÐëÒÔ¶ÀÕ¼·½Ê½´ò¿ª£¬Èç¹ûûÓмӴֲ¿·ÖµÄ´úÂ룬ÔòÁ¬½ÓÊý¾Ý¿âʱ»áÌáʾ´íÎó¡£
¡¡3¡¢Ê¹ÓÃTIdSMTP×é¼þʵÏÖȺ·¢
¡¡¡¡ ÔÚC++Builder6.0ÖÐÐÂÔö¼ÓÁËÒ»Ì×INDY×é¼þ£¬ÕâÊÇÒ»Ì׿ª·ÅÔ´´úÂë¡¢¹¦ÄÜÇ¿´óµÄInternet×é¼þ£¬Ä¿Ç°¸ÃÌ××é¼þµÄ×îа汾ÊÇINDY10£¬ ËäÈ»ÔÚ6.0ÒÔǰµÄC++Builder°æ±¾ÖÐδ¼¯³ÉÕâÌ××é¼þ£¬µ«ÊÇ¿ÉÒÔµ½INDYµÄÍøÕ¾http://www.indyproject.org/ ÉÏÏÂÔØÔ´´úÂë½øÐа²×°¡£INDYÖеÄTIdSMTP×é¼þ·ûºÏRFC821¡¢RFC1869ºÍRFC2544µÄ¹æ·¶£¬ÀûÓÃTIdSMTP×é¼þÎÒÃÇÄܹ»ÇáËɵÄʵÏÖÓëSMTP·þÎñÆ÷µÄÈÏÖ¤Á¬½Ó¡¢ÓʼþµÄ·¢ËͺͻØÖ´ÇëÇó¡£Ï±íÊÇҪʵÏÖÓʼþȺ·¢£¬½«Ê¹Óõ½TIdSMTP×é¼þµÄ»ù±¾ÊôÐԺͷ½·¨£º
¡¡¡¡ ±í1 TIdSMTP×é¼þµÄ»ù±¾ÊôÐԺͷ½·¨
| ÊôÐÔÃû |
¹¦ÄÜÃèÊö |
| Host |
SMTP·þÎñÆ÷µØÖ·£¬¿ÉÒÔʹÓÃIPµØÖ·»òÓòÃû,È磺Smtp.sohu.com |
| Port |
ÓëSMTP·þÎñÆ÷½¨Á¢TCPÁ¬½ÓʹÓõĶ˿ڣ¬Ò»°ãΪ25 |
| Authentication Type |
ÓëSMTP·þÎñÆ÷ÈÏÖ¤µÄÀàÐÍ£¬Ä¿Ç°°æ±¾Ö»ÌṩLOGIN·½Ê½ |
| UserID |
ÓÊÏäÓû§Ãû |
| Password |
ÓÊÏäÃÜÂë |
| ·½·¨Ãû |
¹¦ÄÜÃèÊö |
| Connect () |
Á¬½ÓSMTP·þÎñÆ÷ |
| Disconnect () |
¹Ø±ÕSMTP»á»° |
| Send (Amsg: IdMessage) |
·¢ËÍÓʼþ |
| Connected () |
ÅжÏÊÇ·ñÓëSMTP·þÎñÆ÷Á¬½Ó |
| Disconnected () |
ÅжÏÊÇ·ñÓëSMTP·þÎñÆ÷¶Ï¿ªÁ¬½Ó |
¡¡¡¡ ÔÚTIdSMTPÖÐÖ´ÐÐÓʼþ·¢Ë͵ÄÊÇSend£¨£©·½·¨£¬ËüµÄ²ÎÊýÊÇÒ»¸öTIdMessageÀàµÄʵÀý£¬ËùÒÔҪʵÏÖÍêÕûµÄÓʼþ·¢ËÍTIdSMTP×é¼þ»¹±ØÐëÅäºÏINDYÖеÄTIdMessage×é¼þʹÓᣠTIdMessage×é¼þ·â×°ÁËÒ»¸öÍêÕûµÄ·ûºÏRFC822ºÍRFC1036¹æ·¶µÄInternetÏûÏ¢£¬Êµ¼ÊÉÏTIdSMTP×é¼þÊÇÓÃÀ´ÊµÏÖÁ¬½ÓSMTP·þÎñÆ÷¡¢ÈÏÖ¤¼°ÓʼþµÄ·¢ËÍ£¬¶øTIdMessageÔò¸ºÔð´´½¨ÓʼþµÄÄÚÈÝ£¨È磺Ö÷Ìâ¡¢ÕýÎÄ¡¢ÊÕ¼þÈ˵ȣ©£¬ÒÔÏÂÊÇTIdMessage×é¼þÓëʵÏÖÓʼþȺ·¢Ïà¹ØµÄ»ù±¾ÊôÐÔÁÐ±í£º
¡¡¡¡ ±í2 TIdMessage×é¼þÓëʵÏÖÓʼþȺ·¢Ïà¹ØµÄ»ù±¾ÊôÐÔ
| ÊôÐÔÃû |
¹¦ÄÜÃèÊö |
| Content Type |
ÓʼþÄÚÈݵÄÀàÐÍ£¬È磺text/htmlµÈ |
| Subject |
ÓʼþÖ÷Ìâ |
| ody |
BÓʼþÕýÎÄ |
| From->Name |
·¢¼þÈËÐÕÃû |
| Recipients->Email |
Addresses ÊÕ¼þÈËEMAILµØÖ· |
¡¡¡¡ ÐèҪ˵Ã÷µÄÊÇÔÚʵ¼Ê±àд´úÂëʱ¶ÔTIdMessage×é¼þµÄContent TypeÊôÐÔÐèÒª¸³Öµ£¬Ö¸Ã÷ÏûÏ¢ÕýÎĵÄÀàÐÍ£¬ÀýÈçÎÒÃÇȺ·¢Óʼþʱ£¬ÓʼþµÄÕýÎÄÒ»°ãΪÎı¾£¬ÄÇôÎÒÃǾͱØÐ뽫Content TypeÊôÐÔ¸³ÖµÎªtext/html£¬·ñÔòÓʼþµÄÕýÎÄÔÚ½ÓÊÕä¯ÀÀÓʼþʱ½«»á±äΪÓʼþ¸½¼þµÄÐÎʽ¡£ÏÂÃæ¸ø³öʵÏÖÓʼþȺ·¢µÄʾÀý´úÂ룺
Void __fast call TForm1: SEND_BTNClick (TObject *Sender)
{
¡¡ Int recnum, k; AnsiString addr;
¡¡ IdSMTP1->Host = ComboBoxaddr->Text. Trim ();//É趨SMTP·þÎñÆ÷µØÖ·ºÍ¶Ë¿ÚºÅ
¡¡ IdSMTP1->Port =25;
¡¡ if(CheckBox_AUTH->Checked ==true) //Åжϲ¢ÉèÖÃSMTP·þÎñÆ÷ÊÇ·ñÐèÒªÈÏÖ¤
¡¡ {
¡¡¡¡ IdSMTP1->Authentication Type = at Login;
¡¡¡¡ IdSMTP1->UserId = Edit name->Text. Trim ();
¡¡¡¡ IdSMTP1->Password=MaskEdit_pass->Text. Trim ();}
¡¡¡¡ IdMessage1->Content Type = "text/html"; //¸ù¾ÝÓû§ÌîдµÄÐÅÏ¢´´½¨Óʼþ
¡¡¡¡ IdMessage1->Subject =Edit3->Text. Trim ();0
¡¡¡¡ ¡ ¡
¡¡¡¡ ADOTable1->First(); //Ñ»·¶ÁÈ¡ÓʼþµØÖ·²¢·¢ËÍʵÏÖȺ·¢
¡¡¡¡ Recnum= ADOTable1->Record Count;
¡¡¡¡ For (k=0;k<=recnum-1; k++)
¡¡¡¡ {
¡¡¡¡¡¡ Addr=Trim (ADOTable1->Field Byname ("Email")->AsString) ;
¡¡¡¡¡¡ IdMessage1->Recipients->Email Addresses =addr
¡¡¡¡¡¡ If (! IdSMTP1->Connected ())
¡¡¡¡¡¡ {
¡¡¡¡¡¡¡¡ Try
¡¡¡¡¡¡¡¡¡¡ {IdSMTP1->Connect ();}
¡¡¡¡¡¡¡¡ Catch (Exception &e)
¡¡¡¡¡¡¡¡¡¡ {Application->Message Box(e.Message, "Á¬½ÓSMTP·þÎñÆ÷ʧ°Ü", MB_ICONWARNING); }
¡¡¡¡¡¡ }
¡¡¡¡¡¡ If (IdSMTP1->Connected ())
¡¡¡¡¡¡ {
¡¡¡¡¡¡¡¡ Try
¡¡¡¡¡¡¡¡¡¡ {IdSMTP1->Send (IdMessage1);}
¡¡¡¡¡¡¡¡ Catch (Exception &e)
¡¡¡¡¡¡¡¡¡¡ {Application->Message Box(e.Message, "·¢ËÍʧ°Ü", MB_ICONWARNING); }
¡¡¡¡¡¡ }
¡¡¡¡¡¡ ADOTable1->Next ();}
¡¡¡¡¡¡ Application->Message Box ("·¢ËÍÍê³É!","Óʼþϵͳ",MB_OK);
¡¡¡¡ ¡
¡¡ }¡¡¡¡
½áÊøÓï¡¡¡¡ ËäÈ»ÒÔÉϵÄʾÀý´úÂë»ù±¾ÊµÏÖÁËÓʼþȺ·¢¹¦ÄÜ£¬ÎÒÃÇʵÏÖµÄÊÇLOGINÈÏÖ¤·½Ê½£¬LOGIN·½Ê½¶ÔÓû§ÃûºÍÃÜÂëµÄBASE64±àÂëÊÇÒ»ÖÖ¹«¹²µÄ±àÂë±ê×¼£¬Æäʵ²¢²»°²È«¡£Í¬Ê±²¢²»ÊÇËùÓеÄÓʼþ·þÎñÆ÷¶¼Ö»Ö§³ÖLOGIN·½Ê½£¬ÀýÈçÐÂÀË»¹Ö§³ÖCRAM-MD5ÈÏÖ¤·½Ê½£¬Èç¹ûÎÒÃÇҪʵÏÖÆäËûµÄÈÏÖ¤·½Ê½ÎÒÃÇ¿ÉÒÔµ½http://www.ararat.cz/synapse/ Õâ¸öÍøÕ¾ÉÏÏÂÔØÒ»Ì×synapseµÄTCP/IPÀà¿âÀûÓÃËü¿ÉÒÔʵÏÖSMTPµÄ¶àÖÖÈÏÖ¤·½Ê½¡£ÁíÍ⣬¸ù¾ÝRFC821ÃèÊö£¬Êµ¼ÊÉÏÎÒÃÇÓʼþµÄת·¢Â·¾¶£¨forward-path£©¿ÉÒÔ°üº¬¶à¸öÓÊÏ䵨ַ£¬ËùÒÔµ±ÐèȺ·¢µÄÓÊÏ䵨ַ²»ÊÇÌ«¶àµÄÇé¿öÏ£¬¾Í²»±ØÔÚÓÊÏ䵨ַÁбíÿȡµÃÒ»¸öµØÖ·¾Í·¢ËÍÒ»´Î£¬¶øÊÇ¿ÉÒÔ½«¶à¸öÓʼþµØÖ·Á¬½ÓÆðÀ´£¨Ã¿¸öÓÊÏäÖ®¼äÓöººÅ·Ö¸ô£©×÷Ϊһ¸öµØÖ··¢ËÍ£¬Í¬ÑùÄܹ»ÊµÏÖȺ·¢Óʼþ£¬ÀýÈ磺IdMessage1 ->Recipients -> Email Addresses ="mailbox1£¬mailbox2" µ«ÊÇÈç¹ûÐèȺ·¢µÄÓÊÏ䵨ַ±È½Ï¶àµÄÇé¿öÏ£¬×÷Õß½¨Òé·Ö¶à´ÎÀ´·¢ËÍ£¬ÒòΪÈç¹ûÓʼþµÄת¼Ä·¾¶°üº¬ÓÊÏ䵨ַ¹ý¶àµÄ»°»áʹÓʼþ±äµÃ¹ý´ó£¬Ôö¼ÓÓʼþ·¢ËÍʱÑÓ¡£
,