我正在创建电子邮件发送软件。到目前为止,我能够打开chrome并填写电子邮件的详细信息(主题,正文,附件等),但我想知道有没有办法可以通过编程方式点击G-Mail的发送按钮太?
用于填充Chrome中的详细信息的代码
Process ps = Process.Start("chrome.exe", "https://mail.google.com/mail/u/0/?view=cm&fs=1&tf=1&to=a@gmail.com&bcc=b@gmail.com);
注意我没有使用SmtpClient
发送电子邮件,因为它没有满足我的自定义要求(抱歉无法透露原因)。
答案 0 :(得分:2)
你想要的方式是不可能的。 Process.Start打开一个新进程。在这种情况下,它会打开Google Chrome,并附带您随附的网址。此URL包含一个包含主题和电子邮件正文的查询字符串。这是可能的,因为Google在服务器端读取它,并将其放在正确的字段中。但是没有办法输入发送按钮。这是一个POST操作,无法由URL触发。
C#表单,确实有WebBrowser class。从这里你可以访问按钮并点击它们,但我不认为Google会允许这样做,并且很可能会向您发送验证码。 (也就是说,如果你设法首先登录。)
答案 1 :(得分:1)
我无法帮助您按下您要查找的模拟按钮,但我建议您尝试使用Gmail API执行您尝试执行的操作: https://developers.google.com/gmail/api/?hl=en
这将是一种更可靠,更稳定的以编程方式发送gmail的方式,您仍然不必直接使用smtp对象。
答案 2 :(得分:0)
你应该使用Selenium(WebDriver)。它允许您从c#代码控制浏览器,浏览页面,遍历DOM等。