gpt4 book ai didi

delphi - 如何在使用 ShellExecute 创建的电子邮件中包含换行符?

转载 作者:行者123 更新时间:2023-12-02 11:20:42 24 4
gpt4 key购买 nike

我可以使用 ShellExecute 成功发送电子邮件。收件人地址正确,发件人地址正确,主题正确。电子邮件正文是正确的,只是根本没有换行符,并且所有内容都显示为没有换行符的单个段落。我的默认电子邮件客户端是 Windows 8.1 邮件。

我的问题是,可以使用 ShellExecute 来保留换行符吗?我不想直接向 Indy 发送电子邮件。我所需要做的就是向默认电子邮件客户端发送一封电子邮件并使其格式正确。

procedure TForm1.Email1Click(Sender: TObject);
var
iGridTableItem: TcxCustomGridTableItem;
iName, iDate, iEmail, iSubject, iBody, iParam: string;
begin
iGridTableItem := cxGrid1DBTableView1.DataController.
GetItemByFieldName('EMail');
if iGridTableItem.EditValue <> null then
iEmail := iGridTableItem.EditValue;
iGridTableItem := cxGrid1DBTableView1.DataController.
GetItemByFieldName('Name');
if iGridTableItem.EditValue <> null then
iName := iGridTableItem.EditValue;
iGridTableItem := cxGrid1DBTableView1.DataController.
GetItemByFieldName('Date');
if iGridTableItem.EditValue <> null then
iDate := DateToStr(iGridTableItem.EditValue);
iSubject := 'ImageEn EBook';
iBody := 'Dear Mr. ' + iName + ',' + sLineBreak + sLineBreak +
'PayPal has advised me that you purchased xxxxx on ' + iDate +
'.' + ' Thank-you for your purchase.' + sLineBreak + sLineBreak + 'You may ' +
'download the xxx at' + sLineBreak +
'http://www.xxxxx.xxx/xxx/EBook/xxx101.zip' + sLineBreak +
'Best regards,' + sLineBreak + 'William Miller' + sLineBreak +
'Adirondack Software and Graphics ' + sLineBreak + 'Email: xxx@xxxxxxxx.xxx'
iParam := 'mailto:' + iEmail + '?subject=' + iSubject + '&Body=' + iBody;
ShellExecute(Form1.Handle, 'open', PChar(iParam), nil, nil, SW_SHOWNORMAL);
end;

最佳答案

不同的邮件应用程序对 mailto 协议(protocol)的支持不同。并非所有应用程序都允许同时指定多个参数,等等。因此,使用 mailto 发送电子邮件在不同的计算机上会非常不稳定。

话虽如此,您实际上是在调用一个 URL,只是使用 mailto: 协议(protocol)方案的 URL。因此,您需要对保留字符(例如空格和换行符)进行 url 编码。您可能不想使用 Indy 发送邮件,但您可以使用它来编码您的参数值,至少:

uses
..., IdURI;

iParam := 'mailto:' + iEmail + '?subject=' + TIdURI.ParamsEncode(iSubject) + '&Body=' + TIdURI.ParamsEncode(iBody);

关于delphi - 如何在使用 ShellExecute 创建的电子邮件中包含换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30178547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com