搜索
aardio官方社区 门户 查看主题

SMTP 发送邮件的又一选择 让aardio执行C#代码发送邮件

发布者: wznjsy | 发布时间: 2012-12-10 19:36| 查看数: 5824| 评论数: 9|帖子模式

本帖最后由 wznjsy 于 2012-12-10 19:43 编辑

GMAIL 的SMTP 发送需要支持SSL。基本上GMAIL 可以发送邮件 其他的SMTP 也都可以发送了。
  1. //运行时编译C#
  2. import console;
  3. console.open()

  4. import dotNet;
  5. var clr,err = dotNet.clr( "v2.0" );
  6. if( !clr ){
  7.     console.log("当前系统未安装.Net Framework 2.0", err )
  8.     return;
  9. }

  10. //创建应用程序域
  11. var appDomain = clr.createAppDomain();

  12. //创建C#语言编译器
  13. var compile = appDomain.createCompiler("C#");
  14. compile.Reference("System.dll")

  15. //设置待编译C#源码
  16. compile.Source = /******
  17. using System.Reflection;
  18. using System.Net.Mail;

  19. namespace CSharpLibrary  
  20. {
  21.     public class aardioTable  
  22.     {
  23.             private object tObject;
  24.             public aardioTable(object obj){
  25.                     tObject = obj;
  26.             }
  27.             public object GetProperty(string k){
  28.                     return  tObject.GetType().InvokeMember("属性名", BindingFlags.GetProperty, null, tObject, null);
  29.             }
  30.             public void SetProperty(string k,object v){
  31.                     tObject.GetType().InvokeMember(k, BindingFlags.SetProperty, null, tObject, new object[] { v });
  32.             }
  33.             public object InvokeMember(string k,params/*不定个数参数*/ object[] arg ){
  34.                     return  tObject.GetType().InvokeMember(k, BindingFlags.InvokeMethod, null, tObject, arg );
  35.             }
  36.     }
  37.    
  38.     public class CSharpObject  
  39.     {
  40.         public object Hello( object comObject ){   
  41.         
  42.         
  43.             string mailContent="邮件内容";

  44.             MailMessage msg = new System.Net.Mail.MailMessage();
  45.             msg.To.Add("some@163.com"); //收件人地址

  46.             //发件人信息
  47.             msg.From = new MailAddress("some@gmail.com", "Sender Name", System.Text.Encoding.UTF8);  // 发件人地址和名称
  48.             msg.Subject = "这是测试邮件";   //邮件标题
  49.             msg.SubjectEncoding = System.Text.Encoding.UTF8;    //标题编码
  50.             msg.Body = mailContent; //邮件主体
  51.             msg.BodyEncoding = System.Text.Encoding.UTF8;
  52.             msg.IsBodyHtml = true;  //是否HTML
  53.             msg.Priority = MailPriority.High;   //优先级

  54.             SmtpClient client = new SmtpClient();
  55.             //设置GMail邮箱和密码
  56.             client.Credentials = new System.Net.NetworkCredential("some@gmail.com", "password");
  57.             client.Port = 587;
  58.             client.Host = "smtp.gmail.com";
  59.             client.EnableSsl = true;
  60.             object userState = msg;
  61.   
  62.       
  63.             client.Send(msg);
  64.             
  65.         
  66.             aardioTable tab = new aardioTable( comObject );
  67.          
  68.                 tab.SetProperty( "属性名",456 ) ;
  69.               
  70.             tab.InvokeMember( "执行aardio",  " io.print('在C#中发送邮件') "   );
  71.             
  72.             return tab.GetProperty("属性名");
  73.         }
  74.     }   
  75. }
  76. ******/

  77. //编译并返回程序集  
  78. var assembly = compile.Compile()  

  79. //调用程序集创建类对象
  80. var cSharpObject = assembly.CreateInstance("CSharpLibrary.CSharpObject")  

  81. //调用实时编译的C#函数
  82. var ret = cSharpObject.Hello( {
  83.     属性名 = 123;
  84.     执行aardio = function( code ){
  85.         loadcode(code)();
  86.     }
  87. } );  
复制代码

评分

参与人数 2银币 +60 收起 理由
aaa + 10 赞一个!
51ak + 50 赞一个!

查看全部评分

最新评论

jyb21 发表于 2012-12-10 20:25:15

支持分享,多谢{:3_59:}

支持分享,多谢
507446 发表于 2012-12-10 20:27:01

谢谢分享 学习了~

谢谢分享   学习了~
roger 发表于 2012-12-11 10:53:53

com.smtp 也支持SSL的.[code]import com.smtp; var smtp = com.smtp(); smtp.ssl = t

com.smtp 也支持SSL的.
  1. import com.smtp;

  2. var smtp = com.smtp();
  3. smtp.ssl = true;
复制代码
ghl1975 发表于 2012-12-11 22:05:12

好贴

好贴
ljtnine 发表于 2012-12-12 09:51:44

测试了一下。可以成功发邮件。感谢分享

测试了一下。可以成功发邮件。感谢分享
51ak 发表于 2012-12-12 17:00:12

感谢分享,收藏先。

感谢分享,收藏先。

ying8jing 发表于 2013-5-9 18:46:14

感谢分享

感谢分享
白夜 发表于 2013-6-26 16:02:40

我想说;这个有用

我想说;这个有用
snail 发表于 2013-11-29 13:29:53

好帖。。。

好帖。。。

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2017-9-25 19:37 , Processed in 0.046875 second(s), 19 queries , WinCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表