public Functions(Secrets.ConnectionStrings ConnectionStrings, MyEmail MyEmail)
        {
            Console.WriteLine("Functions constructor");
            // _connectionStrings = ConnectionStrings;
            _connectionStrings = ConnectionStrings;

            _myEmail = MyEmail;

            Console.WriteLine("SG:" + _myEmail.SendGridConnStr());
        }
        public static async void ProcessQueueMessage([QueueTrigger("email")] string message, ILogger logger)
        {
            try
            {
                var configuration = new ConfigurationBuilder()
                                    .SetBasePath(Directory.GetCurrentDirectory())
                                    .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                                    .AddEnvironmentVariables()
                                    .Build()
                ;

                Secrets.ConnectionStrings myConnStr = new Secrets.ConnectionStrings();
                configuration.GetSection("ConnectionStrings").Bind(myConnStr);

                var apiKey = myConnStr.SendGrid;
                var client = new SendGridClient(apiKey);
                // ok

                MyEmails email = JsonConvert.DeserializeObject <MyEmails>(message);

                var msg = new SendGridMessage();
                msg.SetFrom(new EmailAddress("*****@*****.**", "Suporte MI3D Plus"));
                msg.SetSubject(email.Subject);
                msg.AddContent(MimeType.Html, email.Body);
                msg.AddTo(new EmailAddress(email.To.First().Address, email.To.First().DisplayName));
                msg.AddCc(new EmailAddress("*****@*****.**", "Carlos de Souza"));

                var response = await client.SendEmailAsync(msg);

                string mId = response.Headers.GetValues("x-message-id").FirstOrDefault();

                logger.LogInformation(mId);
            }
            catch (System.Exception ex)
            {
                logger.LogError(ex.Message);
            }

            // RegisterServices();

            // List<MyApp.Domain.Address> myAdd = new List<MyApp.Domain.Address>();
            // MyApp.Domain.Address MyNewAdd = new MyApp.Domain.Address("Ricardo Teste Gaefke", "*****@*****.**");
            // myAdd.Add(MyNewAdd);

            // MyApp.Domain.Emails myEm = new MyApp.Domain.Emails(email.Subject, myAdd, email.Body);

            // var myEmail = _serviceProvider.GetService<IMyEmail>();
            // string mymId = await myEmail.SendMailMI3D(myEm);

            // logger.LogInformation(mymId);

            // DisposeServices();
        }
Exemple #3
0
        public static void Main(string[] args)
        {
            Secrets.ConnectionStrings myConfig = new Secrets.ConnectionStrings();

            var builder = new HostBuilder()
                          .ConfigureAppConfiguration((hostingContext, config) =>
            {
                config.AddJsonFile("appsettings.json", optional: true);
                config.AddEnvironmentVariables();
            })
                          .ConfigureServices((hostContext, services) =>
            {
                hostContext.Configuration.GetSection("CUSTOMCONNSTR_ConnectionStrings").Bind(myConfig);
                services.AddOptions <Secrets.ConnectionStrings>()
                .Bind(hostContext.Configuration.GetSection("CUSTOMCONNSTR_ConnectionStrings"));

                // services.AddSingleton<Functions>(new Functions(myConfig));
                services.AddSingleton <IMyEmail, MyEmail>();
                services.Configure <Secrets.ConnectionStrings>(hostContext.Configuration.GetSection("ConnectionStrings"));
                services.AddSingleton <Functions, Functions>();
            })
                          .ConfigureWebJobs(b =>
            {
                b.AddAzureStorageCoreServices();
                b.AddAzureStorage();
            })
                          .ConfigureLogging((context, b) =>
            {
                b.AddConsole();
                string instrumentationKey = context.Configuration["APPINSIGHTS_INSTRUMENTATIONKEY"];
                if (!string.IsNullOrEmpty(instrumentationKey))
                {
                    b.AddApplicationInsights(o => o.InstrumentationKey = instrumentationKey);
                }
            })
                          .UseConsoleLifetime();

            var host = builder.Build();

            using (host)
            {
                host.Run();
            }
        }
Exemple #4
0
        public void ProcessQueueMessage
        (
            [QueueTrigger("teste")]
            string message,
            ILogger logger
        )
        {
            var configuration = new ConfigurationBuilder()
                                .SetBasePath(Directory.GetCurrentDirectory())
                                .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
                                .AddEnvironmentVariables()
                                .Build()
            ;

            Secrets.ConnectionStrings myConnStr = new Secrets.ConnectionStrings();
            configuration.GetSection("ConnectionStrings").Bind(myConnStr);

            logger.LogInformation(myConnStr.SendGrid);
        }