我正在爲數字營銷製作電子郵件系統,並且使用Indy10更改發件人姓名時遇到問題,它始終採用帳戶中註冊的標準名稱。我想改變這個名字。當使用TIdSmtp發送電子郵件時更改發件人
var
IdBody: TIdText;
begin
with IDSMTP do
begin
if Connected then
Disconnect();
Host := edtSMTP.Text;
Password := edtSenha.Text;
Port := sePorta.Value;
Username := edtRemetente.Text;
with IdSSLIOHandlerSocketOpenSSL.SSLOptions do
begin
SSLVersions := [];
if cbxSSLV2.Checked then
SSLVersions := [sslvSSLv2];
if cbxSSLV23.Checked then
SSLVersions := SSLVersions + [sslvSSLv23];
if cbxSSLV3.Checked then
SSLVersions := SSLVersions + [sslvSSLv3];
if cbxTLSV1.Checked then
SSLVersions := SSLVersions + [sslvTLSv1];
if cbxTLSV11.Checked then
SSLVersions := SSLVersions + [sslvTLSv1_1];
if cbxTLSV12.Checked then
SSLVersions := SSLVersions + [sslvTLSv1_2];
end;
case cbxAutenticacao.ItemIndex of
1: UseTLS := utNoTLSSupport;
2: UseTLS := utUseImplicitTLS;
3: UseTLS := utUseRequireTLS;
4: UseTLS := utUseExplicitTLS;
end;
Connect;
Authenticate;
with IdMessage do
begin
MessageParts.Clear;
Subject := edtAssunto.Text;
MessageParts.Clear;
IdBody := TIdText.Create(MessageParts);
try
IdBody.ContentType := 'text/html';
IdBody.Body.Text := mEngenharia.Text;
if edtAnexo.Text <> '' then
begin
if FileExists(edtAnexo.Text) then
TIdAttachmentFile.Create(MessageParts, TFileName(edtAnexo.Text));
end;
From.Address := edtDestinatario.Text;
Recipients.EMailAddresses := edtDestinatario.Text;
BccList.EMailAddresses := edtDestinatario.Text;
Send(IdMessage);
ShowMessage('Email enviado com sucesso!');
finally
FreeAndNil(IdBody);
end;
end;
end;
end;
請給出你的實際代碼,並用一個例子來澄清你正在努力完成的事情。 'TIdMessage'具有'From'和'Sender'屬性,'TIdSMTP'已經重載'Send()'方法,如果你想使用一個不同於'TIdMessage'中指定的發送者的' 。 –
@RemyLebeau我改變了這個帖子,ai想要以下內容,例如在hotmail中,第一列和名稱,第二個主題,我想在那裏更改名稱,例如讓公司向inves註冊名稱電子郵件 –
我看到您爲發件人設置了與收件人地址相同的電子郵件地址,可能是因爲您的SMTP服務器不允許這樣做。 – whosrdaddy