{"action":"created","issue":{"url":"https://api.github.com/repos/aspnet/Identity/issues/1550","repository_url":"https://api.github.com/repos/aspnet/Identity","labels_url":"https://api.github.com/repos/aspnet/Identity/issues/1550/labels{/name}","comments_url":"https://api.github.com/repos/aspnet/Identity/issues/1550/comments","events_url":"https://api.github.com/repos/aspnet/Identity/issues/1550/events","html_url":"https://github.com/aspnet/Identity/issues/1550","id":285503689,"number":1550,"title":"Productionize IEmailSender interface","user":{"login":"javiercn","id":6995051,"avatar_url":"https://avatars2.githubusercontent.com/u/6995051?v=4","gravatar_id":"","url":"https://api.github.com/users/javiercn","html_url":"https://github.com/javiercn","followers_url":"https://api.github.com/users/javiercn/followers","following_url":"https://api.github.com/users/javiercn/following{/other_user}","gists_url":"https://api.github.com/users/javiercn/gists{/gist_id}","starred_url":"https://api.github.com/users/javiercn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/javiercn/subscriptions","organizations_url":"https://api.github.com/users/javiercn/orgs","repos_url":"https://api.github.com/users/javiercn/repos","events_url":"https://api.github.com/users/javiercn/events{/privacy}","received_events_url":"https://api.github.com/users/javiercn/received_events","type":"User","site_admin":false},"labels":[{"id":93051868,"url":"https://api.github.com/repos/aspnet/Identity/labels/1%20-%20Ready","name":"1 - Ready","color":"CCCCCC","default":false},{"id":78495342,"url":"https://api.github.com/repos/aspnet/Identity/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/aspnet/Identity/milestones/30","html_url":"https://github.com/aspnet/Identity/milestone/30","labels_url":"https://api.github.com/repos/aspnet/Identity/milestones/30/labels","id":2766471,"number":30,"title":"2.2.0","description":null,"creator":{"login":"blowdart","id":796298,"avatar_url":"https://avatars2.githubusercontent.com/u/796298?v=4","gravatar_id":"","url":"https://api.github.com/users/blowdart","html_url":"https://github.com/blowdart","followers_url":"https://api.github.com/users/blowdart/followers","following_url":"https://api.github.com/users/blowdart/following{/other_user}","gists_url":"https://api.github.com/users/blowdart/gists{/gist_id}","starred_url":"https://api.github.com/users/blowdart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blowdart/subscriptions","organizations_url":"https://api.github.com/users/blowdart/orgs","repos_url":"https://api.github.com/users/blowdart/repos","events_url":"https://api.github.com/users/blowdart/events{/privacy}","received_events_url":"https://api.github.com/users/blowdart/received_events","type":"User","site_admin":false},"open_issues":26,"closed_issues":1,"state":"open","created_at":"2017-09-14T19:15:29Z","updated_at":"2018-04-12T19:08:05Z","due_on":null,"closed_at":null},"comments":15,"created_at":"2018-01-02T18:32:20Z","updated_at":"2018-04-12T22:36:15Z","closed_at":null,"author_association":"MEMBER","body":"We need to refactor the interface that we had on the template (now on the UI package) into a shape that we like, and find the right place for it. (probably the M.A.I package).\r\n\r\nMy proposal\r\n```csharp\r\npublic interface IEmailSender \r\n{\r\n    Task SendAsync(Email email);\r\n}\r\n\r\npublic class Email\r\n{\r\n    public IList<string> To { get; }\r\n    public string Subject { get; set; }\r\n    public string Body { get; set; }\r\n}\r\n```\r\n\r\nThe idea of using a class is to allow for adding new members if necessary in the future without causing breaking changes.\r\n\r\n/cc: @HaoK "},"comment":{"url":"https://api.github.com/repos/aspnet/Identity/issues/comments/380965202","html_url":"https://github.com/aspnet/Identity/issues/1550#issuecomment-380965202","issue_url":"https://api.github.com/repos/aspnet/Identity/issues/1550","id":380965202,"user":{"login":"HaoK","id":6537861,"avatar_url":"https://avatars2.githubusercontent.com/u/6537861?v=4","gravatar_id":"","url":"https://api.github.com/users/HaoK","html_url":"https://github.com/HaoK","followers_url":"https://api.github.com/users/HaoK/followers","following_url":"https://api.github.com/users/HaoK/following{/other_user}","gists_url":"https://api.github.com/users/HaoK/gists{/gist_id}","starred_url":"https://api.github.com/users/HaoK/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HaoK/subscriptions","organizations_url":"https://api.github.com/users/HaoK/orgs","repos_url":"https://api.github.com/users/HaoK/repos","events_url":"https://api.github.com/users/HaoK/events{/privacy}","received_events_url":"https://api.github.com/users/HaoK/received_events","type":"User","site_admin":false},"created_at":"2018-04-12T22:36:15Z","updated_at":"2018-04-12T22:36:15Z","author_association":"MEMBER","body":"I also suggest something really specific like DefaultUIEmailSender "}}
{"actor":{"display_login":"HaoK"}}