Sample code for 30+ languages & platforms
Lua

Provide an FTP ACCT Account Identifier

See more FTP Examples

Demonstrates the Account property, which supplies the value for the FTP ACCT command sent after USER/PASS when a server requests it.

Background: ACCT is a vestige of early FTP, where an account identifier could be required in addition to the username and password — think mainframe billing codes or storage-group selection. It is very rarely needed today; almost every modern server authenticates with USER and PASS alone. Set this only when connecting to a legacy host that explicitly asks for account information after login.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

local ftp = chilkat.Ftp2.new()

ftp.hostname = "ftp.example.com"
ftp.username = "myFtpLogin"

-- Normally you would not hard-code the password in source.  You should instead obtain it
-- from an interactive prompt, environment variable, or a secrets vault.
ftp.password = "myPassword"

-- Account supplies the value for the FTP ACCT command, sent after USER/PASS when a server
-- requests it.  This is very rarely needed today -- almost all modern servers use only USER and
-- PASS -- but some legacy hosts require an additional account identifier.
ftp.account = "myAccountId"

local success = ftp:connect()
if not success then
    print(ftp.last_error_text)
    return
end

print("Logged in (ACCT provided if the server requested it).")

success = ftp:disconnect()
if not success then
    print(ftp.last_error_text)
    return
end